Avatar billede zoidberg Nybegynder
07. august 2001 - 01:01 Der er 7 kommentarer og
1 løsning

Do until rs.EOF

Jeg har et lille problem, jeg har en database med en række poster som jeg henter med

Do until rs.EOF

og det virker egentlig fint, men hvis jeg sletter en post får jeg fejlen:

Enten er BOF eller EOF sand, eller den aktuelle post er blevet slettet. Den anmodede handling kræver en aktuel post.

Hvorfor nu der? Det plejer den ikke at brokke sig over!?
Avatar billede netsrac Praktikant
07. august 2001 - 01:04 #1
Hm..Smid noget mere kode, det er lidt svært at sige noget udfra sådan en lille del...
Avatar billede zoidberg Nybegynder
07. august 2001 - 01:09 #2
Set connect = Server.CreateObject(\"ADODB.Connection\")
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"Forum.mdb\")
Connect.Open strDSN
set rs = Connect.Execute(\"SELECT godkendt from users WHERE nick=\'\" & session(\"brugernavn\") & \"\'\")
if not rs.EOF = false then
strSQL = \"SELECT * FROM Forums WHERE Beskyttet=\'Nej\'\"
else
if rs(\"godkendt\") = \"Ja\" then
strSQL = \"SELECT * FROM Forums\"
else
strSQL = \"SELECT * FROM Forums WHERE Beskyttet=\'Nej\'\"
end if
end if
Set forums = Connect.Execute(strSQL)


DO while not Forums.EOF

Set count = Connect.Execute(\"SELECT COUNT(*) AS Antal FROM Messages WHERE (ForumID = \" & Forums(\"ForumID\") & \")\")
Set threads = Connect.Execute(\"SELECT COUNT(*) AS Antal FROM Messages WHERE (SvarID = 0) AND (ForumID = \" & Forums(\"ForumID\") & \")\")
Set topdate = Connect.Execute(\"SELECT TOP 1 * FROM Messages WHERE (ForumID = \" & Forums(\"ForumID\") & \") ORDER BY dato DESC\")

If farve=1 Then
baggrund=\"#E5E5E5\"
Farve= Farve + 1
Else
baggrund=\"#FCFCFC\"
farve=1
End If

%>
<tr>
<td valign=top width=35% bgcolor=\"<%=baggrund%>\"><font size=2><a href=forum.asp?mode=threads&ForumID=<%=Forums(\"ForumID\")%>><b><%=Forums(\"Navn\")%></a></b></font></td>
<td valign=top width=15% bgcolor=\"<%=baggrund%>\"><font size=2><%=threads(\"Antal\")%></font></td>
<td valign=top width=15% bgcolor=\"<%=baggrund%>\"><font size=2><%=count(\"Antal\")%></font></td>
<td valign=top width=25% bgcolor=\"<%=baggrund%>\"><font size=2><%=topdate(\"dato\")%></font></td>
</tr>
<%
Forums.MoveNext
LOOP
%>


Jeg har forumid 1,2,3 når jeg opretter et nyt får det forumid 7, og så går det galt!
Avatar billede netsrac Praktikant
07. august 2001 - 01:13 #3
I hvilken linie får du fejlen ?
Avatar billede zoidberg Nybegynder
07. august 2001 - 01:17 #4
Ja, det er så det sjove, det vil den ikke ud med!

Her er hvad jeg får:

Error Type:
ADODB.Field (0x80020009)
Enten er BOF eller EOF sand, eller den aktuelle post er blevet slettet. Den anmodede handling kræver en aktuel post.
/eksperten/kane/forum.asp
Avatar billede netsrac Praktikant
07. august 2001 - 01:20 #5
Jeg kunne forestille mig at det er:

<td valign=top width=25% bgcolor=\"<%=baggrund%>\"><font size=2><%=topdate(\"dato\")%></font></td>

Altså at:
Set topdate = Connect.Execute(\"SELECT TOP 1 * FROM Messages WHERE (ForumID = \" & Forums(\"ForumID\") & \") ORDER BY dato DESC\")

Giver en .eof ? Prøv at lægge test ind på de 3 linier i bunden også.
Avatar billede zoidberg Nybegynder
07. august 2001 - 01:23 #6
Nåh, ja, selvfølgelig, der er jo ikke oprettet nogle meddelelder i det nye forum!!!

Prøver lige!
Avatar billede zoidberg Nybegynder
07. august 2001 - 01:29 #7
Takker mange gange!

Det betyder vist at det er ved at være sengetid ;o)

Smid lige et svar så du kan få point!
Avatar billede netsrac Praktikant
07. august 2001 - 01:30 #8
Svar :-)
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