Avatar billede idiotbarn Nybegynder
24. august 2004 - 10:19 Der er 11 kommentarer og
1 løsning

Do while (not rs.EOF) OR (I<Antal)

If not rs.EOF then
I=1
Do while (not rs.EOF) OR (I<Antal)
response.Write rs("Tekst")
rs.movenext
I=I+1
Loop
end if

med dette script får jeg:

ADODB.Field error '800a0bcd'

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

/getnews.asp, line 21

hvor linie 21 er rs("Tekst")
Hvad gør jeg forkert? Sletter jeg OR (I<Antal) kører det fint?
Avatar billede tubber Juniormester
24. august 2004 - 10:21 #1
Hvad er antal helt nøjagtigt ?
Avatar billede fennec Nybegynder
24. august 2004 - 10:23 #2
Det skal være:
Do while (not rs.EOF) AND (I<Antal)

hvis Antal nu er størrere end antallet af records, kører loopen vidre, hvis du bruger OR, selvom der ikke er flere records.
Avatar billede erikjacobsen Ekspert
24. august 2004 - 10:24 #3
Du mener måske
    Do while (not rs.EOF) AND (I<Antal)
Avatar billede idiotbarn Nybegynder
24. august 2004 - 11:38 #4
den virker ved AND, men ikke helt...Antal er det poster den skal vise, altså hvis ikke den når rs.EOF inden
Hvis Antal=3 udskriver den bare alt alligevel?
Avatar billede fennec Nybegynder
24. august 2004 - 11:48 #5
Så er der noget galt med din løkke/tæller eller antal.

Hvis der er flere elementer i rs og I bliver størrer end Antal vil løkken stoppe, fordi resultatet så er:
Do while true AND false

... og med den betingelse vil man aldrig komme ind i løkken.

Prøv lige at tjekke om I bliver talt op og hvilken værdi Antal har.
Avatar billede erikjacobsen Ekspert
24. august 2004 - 11:59 #6
Og når det er gjort, skal I nok starte i 0, eller alternativt skriver du (I<=Antal)
Ellers får du een for lidt
Avatar billede idiotbarn Nybegynder
24. august 2004 - 12:23 #7
hvis jeg udskriver dem:

I=1
I=2
I=3
I=4
I=5
Antal=3
Avatar billede erikjacobsen Ekspert
24. august 2004 - 12:33 #8
Hvis Antal ikke et tal, skal du

  (I<=cint(Antal))
Avatar billede idiotbarn Nybegynder
24. august 2004 - 12:36 #9
Ah...tak...jeg hiver den ud af databasen som tekst af en eller anden grund...lige et svar så nogen point :)
Avatar billede fennec Nybegynder
24. august 2004 - 12:53 #10
Skal vi dele erikjacobsen?
Du klarede cint() og jeg klarede AND...
Avatar billede erikjacobsen Ekspert
24. august 2004 - 13:05 #11
Ja, lad os dele. Jeg får 0 point - for jeg samler ikke på point - og du får resten.
Avatar billede idiotbarn Nybegynder
24. august 2004 - 13:07 #12
hmm...bare i er enige...tak for hjælpen
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