Avatar billede [tpl]foxy Nybegynder
23. marts 2003 - 09:17 Der er 13 kommentarer og
2 løsninger

fejl i koden ?

hmm.. jeg får en fejl i denne kode.. hvor den skal vise hver anden med 2 forskellige farve table.. men hmm.. er ligesom om der er en mindre fejl i koden.. nogen der kan hjælpe ?

<table border="0" width="100%" height="0" bgcolor="#EEEEEE">
<td>
<b><%=RS("Dato")%> | <A HREF="mailto:<%=RS("Email")%>"><%=RS("Navn")%></A></b><br>
<%=RS("Besked")%><br><img src="prik.jpg" height="1" width="100%"><br>
</td>
</table>
<%RS.MoveNext%>
<table border="0" width="100%" height="0" bgcolor="#FFFFFF">
<td>
<b><%=RS("Dato")%> | <A HREF="mailto:<%=RS("Email")%>"><%=RS("Navn")%></A></b><br>
<%=RS("Besked")%><br><img src="prik.jpg" height="1" width="100%"><br>
</td>
</table>
<%RS.MoveNext

end if

Conn.Close
Set Conn = Nothing%>
Avatar billede killer_r Nybegynder
23. marts 2003 - 09:49 #1
Hvad er fejlen?
Avatar billede [tpl]foxy Nybegynder
23. marts 2003 - 10:15 #2
ADODB.Field error '80020009'
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

/tag/default2.asp, line 0
Avatar billede [tpl]foxy Nybegynder
23. marts 2003 - 10:16 #3
den skriver det hele rigtigt.. men til sidst kommer der en fejl på siden...
Avatar billede [tpl]foxy Nybegynder
23. marts 2003 - 10:20 #4
http://www.dunai.dk/tag/default2.asp <-- du kan se scriptet aktivt der..
Avatar billede eagleeye Praktikant
23. marts 2003 - 12:37 #5
Lav det som et loop det er fordi du har eksvis et ulige antal records og så fejler den i en rs.movenext.

Så i stedet for dit kod eså prøv:


<% do while not rs.EOF %>
<table border="0" width="100%" height="0" bgcolor="#EEEEEE">
<td>
<b><%=RS("Dato")%> | <A HREF="mailto:<%=RS("Email")%>"><%=RS("Navn")%></A></b><br>
<%=RS("Besked")%><br><img src="prik.jpg" height="1" width="100%"><br>
</td>
</table>
  <%  RS.MoveNext
loop %>
Avatar billede [tpl]foxy Nybegynder
23. marts 2003 - 12:40 #6
hmm.. viser den så ikke kun 1 record fra db ? altså den laver jo ikke skiftevis med farve så - gør den ?
Avatar billede [tpl]foxy Nybegynder
23. marts 2003 - 12:43 #7
hmm.. synes stadig der kommer noget fejl ?
Avatar billede [tpl]foxy Nybegynder
23. marts 2003 - 12:46 #8
Den kommer med denne fejl nu:

Microsoft VBScript compilation error '800a0400'

Expected statement

/tag/default2.asp, line 52

end if
^

og koden er:

if rs.EOF then
Response.write "ingen tag's ligenu !"
else
Do Until rs.EOF
%>
<table border="0" width="100%" height="0" bgcolor="#EEEEEE">
<td>
<b><%=RS("Dato")%> | <A HREF="mailto:<%=RS("Email")%>"><%=RS("Navn")%></A></b><br>
<%=RS("Besked")%><br><img src="prik.jpg" height="1" width="100%"><br>
</td>
</table>
<% do while not rs.EOF %>
<table border="0" width="100%" height="0" bgcolor="#EEEEEE">
<td>
<b><%=RS("Dato")%> | <A HREF="mailto:<%=RS("Email")%>"><%=RS("Navn")%></A></b><br>
<%=RS("Besked")%><br><img src="prik.jpg" height="1" width="100%"><br>
</td>
</table>
  <%  RS.MoveNext
Loop
End If

Conn.Close
Set Conn = Nothing%>
Avatar billede [tpl]foxy Nybegynder
23. marts 2003 - 13:20 #9
Sådan ser koden ud nu:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database.mdb")
strSQL = "select* from gaestebogen ORDER BY ID DESC"
set rs = Conn.execute(strSQL)

if rs.EOF then
Response.write "ingen tag's ligenu !"
else
do while not rs.EOF %>
<table border="0" width="100%" height="0" bgcolor="#EEEEEE">
<td>
<b><%=RS("Dato")%> | <A HREF="mailto:<%=RS("Email")%>"><%=RS("Navn")%></A></b><br>
<%=RS("Besked")%>
</td>
</table>
<% rs.movenext %>
<table border="0" width="100%" height="0" bgcolor="#FFFFFF">
<td>
<b><%=RS("Dato")%> | <A HREF="mailto:<%=RS("Email")%>"><%=RS("Navn")%></A></b><br>
<%=RS("Besked")%>
</td>
</table>
<%Rs.movenext
Loop
end if

Conn.Close
Set Conn = Nothing%>



Men jeg får stadig denne fej:

ADODB.Field error '80020009'

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

/tag/default2.asp, line 0
Avatar billede tomh Nybegynder
24. marts 2003 - 13:08 #10
du har 2 .movenext i hver gennemkørsel af løkken - derfor vil du altid få en EOF-fejl.
Avatar billede [tpl]foxy Nybegynder
24. marts 2003 - 23:14 #11
hvilken skal så væk ?
Avatar billede [tpl]foxy Nybegynder
24. marts 2003 - 23:17 #12
hvis jeg fjerner nogen af dem viser den det jo også forkert ? altså der kommer godt nok ingen fejl hvis jeg fjerner den første, men så skriver den altså outputs 2 gange..?!
Avatar billede tomh Nybegynder
25. marts 2003 - 07:51 #13
En mulig løsning:

1) Fjern den ene "udskriftsdel".
2) Inden gennemløbet sætter du en variabel (f.eks. counter) til 0)
3) Inde i gennemløbet gøres følgende:

  1) Check om counter er 0
  2) hvis ja skriv ud med farve 1 og sæt counter til 1
  3) hvis nej skriv ud med farve 2 og sæt counter tilbage til 0

På den måde vil farverne skiftes, og du får kun hver række ud 1 gang.
Avatar billede -mundi- Nybegynder
25. marts 2003 - 07:54 #14
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database.mdb")
strSQL = "select* from gaestebogen ORDER BY ID DESC"
set rs = Conn.execute(strSQL)

if rs.EOF then
Response.write "ingen tag's ligenu !"
else
do while not rs.EOF %>
<table border="0" width="100%" height="0" bgcolor="#EEEEEE">
<td>
<b><%=RS("Dato")%> | <A HREF="mailto:<%=RS("Email")%>"><%=RS("Navn")%></A></b><br>
<%=RS("Besked")%>
</td>
</table>
<% rs.movenext
if not rs.eof then
%>
<table border="0" width="100%" height="0" bgcolor="#FFFFFF">
<td>
<b><%=RS("Dato")%> | <A HREF="mailto:<%=RS("Email")%>"><%=RS("Navn")%></A></b><br>
<%=RS("Besked")%>
</td>
</table>
<%Rs.movenext
end if
Loop
end if

Conn.Close
Set Conn = Nothing%>
Avatar billede tomh Nybegynder
25. marts 2003 - 08:00 #15
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database.mdb")
strSQL = "select* from gaestebogen ORDER BY ID DESC"
set rs = Conn.execute(strSQL)

if rs.EOF then
Response.write "ingen tag's ligenu !"
else
counter = 0
do while not rs.EOF

if counter = 0 then
  farve="#EEEEEE"
else
  farve = "#FFFFFF"
end if %>
<table border="0" width="100%" height="0" bgcolor=<%=farve%>>
<td>
<b><%=RS("Dato")%> | <A HREF="mailto:<%=RS("Email")%>"><%=RS("Navn")%></A></b><br>
<%=RS("Besked")%>
</td>
</table>
<%
counter = not(counter)
rs.movenext
Loop
end if

Conn.Close
Set Conn = Nothing%>
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