Avatar billede thomasjensen Nybegynder
19. marts 2002 - 20:15 Der er 2 kommentarer og
1 løsning

Tilfældigt citat

Hej jeg har lidt problemer med at vise et tilfældigt citat hentet fra en Acces-database..
Jeg programmerer i JavaScript..

Koden ser således ud:

<%
sql  = "SELECT * FROM CITATER ORDER BY ID DESC";
rs = connection.execute(sql);

var citater  = new Array()
var i = 0;

while (!rs.EOF) {
  citater[i] = rs.Fields("citat");
  i++;
  rs.MoveNext;
}

function visCitat() {
  hvilket  =  Math.floor((Math.random() * 10 )) % citater.length;
  return Response.Write(citater[hvilket]);
}

visCitat();
%>


Jeg får følgende fejlmeddelelse:
Fejltype:
ADODB.Field (0x80020009)
Enten er BOF eller EOF sand, eller den aktuelle post er blevet slettet. Den anmodede handling kræver en aktuel post.
/ACI/HTML/Temp/citat.asp, line 38


Linie 38 er return-sætningen i funktionen visCitat.
Hvad er galt?
Avatar billede jespernaur Nybegynder
19. marts 2002 - 21:46 #1
Prøv at udskrive variablene i, hvilket samt citater.length lige før linie 38.
Avatar billede thomasjensen Nybegynder
19. marts 2002 - 22:23 #2
i = 6
hvilket = 3
citater.length = 6

variablen 'hvilket' ændrer sig for hver gang jeg opdaterer, så den viser rigtig nok et tilfældig tal..
Avatar billede thomasjensen Nybegynder
19. marts 2002 - 22:38 #3
Jeg har selv fundet fejlen. Den er godt nok mystisk. Jeg ændrede while-løkken til følgende:

while (!rs.EOF) {
  citater[i] = rs.Fields("citat") + "";
  i++;
  rs.MoveNext;
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester