Avatar billede slumbie Nybegynder
18. januar 2002 - 19:47 Der er 22 kommentarer og
1 løsning

Løkker

Ack og veg.. Jeg ved det er newbie stuff, men den har snart provokeret mig længe nok!

Jeg har lavet en
while not rsprod2.eof
bla bla
wend

Og det virker som det skal men når den er EOF får jeg fejlmeddelse

ADODB.Field error \'80020009\'

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



Hvordan kan jeg få den til at ignore at den er EOF og bare forsætte? Istedet for at gå istå der?
Avatar billede entracore Nybegynder
18. januar 2002 - 19:50 #1
Du kan ikke ignorere denne fejl - grunden til at fejlen opstår er at din SQL sætning ikke retunere nogle records.

Hvis du vil undgå denne kan du skrive fgl.:

SqlQ = \"Select * From...\"
Set rSqlQ = Conn...
If Not rSqlQ.Eof Then \'Hvis der retuneres en eller flere records...
Do While Not rSqlQ.Eof
...
rSqlQ.MoveNext
Loop
End If
Avatar billede invisibleman Nybegynder
18. januar 2002 - 19:51 #2
Du kan jo ikke ignorere et EOF. Eller jo, men hvad nytter det når du ikke kan få flere poster !?

Do Until Rs.EOF Or Rs.BPF

Loop

plejer jeg at bruge ... Hvis Rs.BOF = True er Rs.EOF det ikke nødvendigvis.
Avatar billede invisibleman Nybegynder
18. januar 2002 - 19:55 #3
entracore: Det er ikke korret.

While Not Rs.EOF

Wend

Vil give samme resultat som dit.
Avatar billede slumbie Nybegynder
18. januar 2002 - 19:55 #4
Jeg har lavet den sådan her, men får stadig samme fejl.

Set rsprod2 = Server.CreateObject(\"ADODB.Recordset\")
        rsprod2.Open \"select * from products\" , StrConn, adOpenStatic, adLockReadOnly
        If Not rsprod2.eof Then \'Hvis der retuneres en eller flere records...
        Do While Not rsprod2.eof
        %>
        <tr><td align=\"center\" bgcolor=\"#1D9AB1\" onclick=\"window.location.href = \'product.asp?productid=<%= rsprod2(\"productid\")%>\';\" onmouseover=\"mOvr(this)\" onmouseout=\"mOut(this)\"><center><%= rsprod2(\"image\") %></center></td>
            <%
            rsprod2.movenext%>
        <td align=\"center\" bgcolor=\"#1D9AB1\" onclick=\"window.location.href = \'product.asp?productid=<%= rsprod2(\"productid\")%>\';\" onmouseover=\"mOvr(this)\" onmouseout=\"mOut(this)\"><center><%= rsprod2(\"image\") %></center></td>
            <%
            rsprod2.movenext%>
        <td align=\"center\" bgcolor=\"#1D9AB1\" onclick=\"window.location.href = \'product.asp?productid=<%= rsprod2(\"productid\")%>\';\" onmouseover=\"mOvr(this)\" onmouseout=\"mOut(this)\"><center><%= rsprod2(\"image\") %></center></td></tr>
            <%
            rsprod2.movenext
               
       
        Loop
        End If
Avatar billede erikjacobsen Ekspert
18. januar 2002 - 19:57 #5
Ja, du har 3 movenext-er. Når du så er kommet til EOF så siger du bare
movenext igen. Kan du ikke se det?
Avatar billede slumbie Nybegynder
18. januar 2002 - 19:58 #6
jo, men hvordan kommer jeg ud af den så?  Jeg skal ha de 3 movenext
Avatar billede entracore Nybegynder
18. januar 2002 - 19:59 #7
slumbie  >> Hvorfor skal du have 3 movenext???
Avatar billede slumbie Nybegynder
18. januar 2002 - 20:01 #8
hmmm.. Ok, det jeg vil ha er at den smider 3 billeder op side by side, og derefter laver en <TR>.. Det var den eneste løsning jeg selv kunne finde på.. 

Jeg er MEGET åben overfor bedre forslag
Avatar billede entracore Nybegynder
18. januar 2002 - 20:02 #9
invisibleman >> Det er korrket - If Not og Do While Not går ligesom ud på det samme i ovenstående problemstilling.
Avatar billede entracore Nybegynder
18. januar 2002 - 20:03 #10
Hvad er der galt med:

Response.Write \"<tr>\"
Do While Not rsprod2.Eof
Response.Write \"<td>Billede 1</td>\"
Response.Write \"<td>Billede 2</td>\"
Response.Write \"<td>Billede 3</td>\"
rsprod2.MoveNext
Loop
Response.Write \"</tr>\"
Avatar billede atn Nybegynder
18. januar 2002 - 20:09 #11
entracore> Så får han en fejl hvis det ikke går op i 3....

venligst

<ATN/>
Avatar billede slumbie Nybegynder
18. januar 2002 - 20:09 #12
det er fucked.. Nu får jeg samme billed vist 3 gange ved siden af hinanden
Avatar billede slumbie Nybegynder
18. januar 2002 - 20:10 #13
det var vist derfor jeg havde smidt min movenext-er ind der hvor de var
Avatar billede erikjacobsen Ekspert
18. januar 2002 - 20:10 #14
Det må blive noget i retning af dette. Man må ikke sige movenext hvis der
er eof, så det skal der testes for. Koden her er dog utestet :)

<%
Set rsprod2 = Server.CreateObject(\"ADODB.Recordset\")
rsprod2.Open \"select * from products\" , StrConn, adOpenStatic, adLockReadOnly
Do While Not rsprod2.eof
%>
    <tr><td align=\"center\" bgcolor=\"#1D9AB1\" onclick=\"window.location.href = \'product.asp?productid=<%= rsprod2(\"productid\")%>\';\" onmouseover=\"mOvr(this)\" onmouseout=\"mOut(this)\"><center><%= rsprod2(\"image\") %></center></td>
<% rsprod2.movenext
  if not rsprod2.eof then
%>
  <td align=\"center\" bgcolor=\"#1D9AB1\" onclick=\"window.location.href = \'product.asp?productid=<%= rsprod2(\"productid\")%>\';\" onmouseover=\"mOvr(this)\" onmouseout=\"mOut(this)\"><center><%= rsprod2(\"image\") %></center></td>
<% rsprod2.movenext
  if not rsprod2.eof then
%>
  <td align=\"center\" bgcolor=\"#1D9AB1\" onclick=\"window.location.href = \'product.asp?productid=<%= rsprod2(\"productid\")%>\';\" onmouseover=\"mOvr(this)\" onmouseout=\"mOut(this)\"><center><%= rsprod2(\"image\") %></center></td></tr>
<% rsprod2.movenext
  end if
  end if
Loop
%>
Avatar billede entracore Nybegynder
18. januar 2002 - 20:11 #15
atn >> Ja undskyld Det skal selvfølgelig skrive således :)

Response.Write \"<tr>\"
Do While Not rsprod2.Eof
Response.Write \"<td>Billede</td>\"
rsprod2.MoveNext
Loop
Response.Write \"</tr>\"
Avatar billede atn Nybegynder
18. januar 2002 - 20:12 #16
Man kan godt lave en der er mere dynamisk...

hvor man bare kan antal <td> man vil ha\'

det kræver bare lidt udregning..

venligst

<ATN/>
Avatar billede slumbie Nybegynder
18. januar 2002 - 20:15 #17
Hold da kæft hvor dejligt!! Du har jo altid rulet Erik!!
Avatar billede erikjacobsen Ekspert
18. januar 2002 - 20:17 #18
Bare du forstår hvorfor, slumbie. Der kan også laves mere elegante
løsninger, hvor man tæller sig til hvor \"<tr>\"-erne skal stå

Erik \"Livet er for kort til ASP\" Jacobsen
Avatar billede atn Nybegynder
18. januar 2002 - 20:17 #19
Entracore > Det vil ikke gi\' det ønskede resultat....

der vil den bare loope imellem <td>.....og så vil det blive en lang række...

Venligst

<ATN/>
Avatar billede atn Nybegynder
18. januar 2002 - 20:18 #20
Jeg mener <tr> ! ;o)

Sorry...

venligst

<ATN/>
Avatar billede slumbie Nybegynder
18. januar 2002 - 20:21 #21
Jeg kan godt se det nu.. Forstod måske ikke helt den movenext inden! Men klart den skal ha en kondition
Avatar billede entracore Nybegynder
18. januar 2002 - 20:23 #22
Atn >> Ja det vil det. ;)
Avatar billede erikjacobsen Ekspert
18. januar 2002 - 20:50 #23
Strengt taget skal din </tr> udskrives lige før loop - godt nok accepterer
dagens browsere det, men det er jo ikke rigtig HTML ellers.
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