Avatar billede DMO Novice
16. november 2015 - 16:07 Der er 22 kommentarer og
1 løsning

BOF or EOF

Jeg får denne fejl
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

den skal lave undermenuer med billeder vis der er nogen
jeg kan se at den laver den første rigtig, derefter flopper den
koden mellem '#### er den jeg har tilføjet

databaseAsql
DO WHILE NOT databaseA.EOF
for i=1 to 4
if databaseA.EOF then

databaseBsql
if databaseB.EOF then
response.write "<tr><td><img src=/billeder/200/nopic.png BORDER=0 height=200 width=200></td></tr>"   
else               
'##########loop varer igennem og tjekker for billeder (tager den første den finder)               
nopic = 0
varevalgt = ""
varevalgttext = ""
nopic = 0
set fso = Server.Createobject("scripting.filesystemobject")
Do While Not databaseB.EOF
if CInt(nopic) = 0 then
if fso.FileExists(Server.mappath("prod/billeder/200/" & databaseB("Varenr") & ".JPG")) then
varevalgt = databaseB("Varenr")
varevalgttext = databaseB("Beskriv100")
nopic = 1
end if
end if
databaseB.MoveNext
Loop
set fso=nothing
   
if CInt(nopic) = 1 then
response.write "<tr><td><<img src='/billeder/200/"& varevalgt &".jpg' alt='"& varevalgt &" - "& varevalgttext &"' BORDER='0' height='200' width='200'></td></tr>
else
response.write "<tr><td><img src=/billeder/200/nopic.png BORDER=0 height=200 width=200></td></tr>"
end if
nopic = 0
'######################################################
end if   

end if
databaseA.MoveNext
next
loop
Avatar billede claes57 Ekspert
16. november 2015 - 17:30 #1
hvis du aktiverer fejlkontrollen, så får du linjen med fejl - det gør det lettere at finde ud af.
Avatar billede DMO Novice
17. november 2015 - 09:25 #2
glemte at tage med at den siger ", line 0"

vis jeg lurer i kildekoden så kommer fejlen når den kommer  til "& varevalgt &"

<img size="2" arial"="" src="/billeder/200/ <font face=">
Avatar billede claes57 Ekspert
17. november 2015 - 13:18 #3
jeg har indsat lidt mellemrum og fjernet et < før <img (der er kun rettet i første response.write linje).

if CInt(nopic) = 1 then
response.write "<tr><td><img src='/billeder/200/" & varevalgt & ".jpg' alt='" & varevalgt & " - " & varevalgttext & "' BORDER='0' height='200' width='200'></td></tr>
else
response.write "<tr><td><img src=/billeder/200/nopic.png BORDER=0 height=200 width=200></td></tr>"
end if
Avatar billede DMO Novice
18. november 2015 - 15:03 #4
Ah. den < er fra en <a> link tag som jeg har fjernet for at gør det lidt mindre rodet for eksperten. fik ikke fjernet den helt.

og jeg kan se at måske har lavet en fejl der gør at den ikke stopper når den har fundet en billede?
Avatar billede claes57 Ekspert
18. november 2015 - 16:29 #5
du må tælle alle < og > op, og tjekke, at alle tekststrenge er korrekt startet og afsluttet med ' eller "
Avatar billede DMO Novice
19. november 2015 - 14:48 #6
fejlen forsvinder vis jeg putter ind "Exit Do"
men tilgengæld for jeg 2 billeder per resultat selvom title kun vis en gang

databaseAsql
DO WHILE NOT databaseA.EOF
for i=1 to 4
if databaseA.EOF then

databaseBsql

response.write "kategori title bla bla" '<!-- vis kun engang per result

if databaseB.EOF then
response.write "<img src=/billeder/200/nopic.png BORDER=0 height=200 width=200>" 
else             
'##########loop varer igennem og tjekker for billeder (tager den første den finder)             
nopic = 0
varevalgt = ""
varevalgttext = ""
nopic = 0
set fso = Server.Createobject("scripting.filesystemobject")
Do While Not databaseB.EOF
if CInt(nopic) = 0 then
if fso.FileExists(Server.mappath("prod/billeder/200/" & databaseB("Varenr") & ".JPG")) then
varevalgt = databaseB("Varenr")
varevalgttext = databaseB("Beskriv100")
nopic = 1
  Exit Do '<!-- sat ind
end if
end if
databaseB.MoveNext
Loop
set fso=nothing
 
if CInt(nopic) = 1 then
response.write "<img src='/billeder/200/"& varevalgt &".jpg' alt='"& varevalgt &" - "& varevalgttext &"' BORDER='0' height='200' width='200'>" '<!-- vis 2 gange
else
response.write "<img src=/billeder/200/nopic.png BORDER=0 height=200 width=200>"
end if
'######################################################
end if 
databaseA.MoveNext
end if
next
loop
Avatar billede claes57 Ekspert
19. november 2015 - 15:17 #7
Do While Not databaseB.EOF And CInt(nopic) = 0
  if fso.FileExists(Server.mappath("prod/billeder/200/" & databaseB("Varenr") & ".JPG")) then
    varevalgt = databaseB("Varenr")
    varevalgttext = databaseB("Beskriv100")
    nopic = 1
  end if
  databaseB.MoveNext
Loop
Avatar billede DMO Novice
19. november 2015 - 15:49 #8
Prøvet. det gav mig igen 2 billeder, men 2 forskellige billeder.
Det gav mig en ADODB.Field error '80020009' fejl igen, men ved 3 kategori fordi den ikke har 2 resultater databaseB



Jeg er sikker på der er en åbentlys fejl her.
Der er selvfølgelig mere kode som jeg ikke har vist men jeg har kun vist det jeg syntes var relevant
Avatar billede DMO Novice
20. november 2015 - 14:47 #9
Ja, jeg forstår bare ikke hvorfor og hvordan den kan få en BOF or EOF fejl på en String (varevalgt) især når jeg har en sat varevalgt = "" før den begynder en DO WHILE LOOP
vis den loop køre fint en gang burde (varevalgt) være den første hit og ikke prøve at lave en anden billede
Avatar billede claes57 Ekspert
20. november 2015 - 15:57 #10
den er ikke til at greje ud fra den viste kode... Det er ikke, så du fx kommer til at kalde rutinen 2 gange?
Avatar billede DMO Novice
20. november 2015 - 16:07 #11
Her er hele sub koden med noter osv. igen koden mellem '######## er den jeg har tilføjet i stedet for det der er ud kommenteret.



Sub liste
if database.EOF then
    if varekategorien = " -  - " then
        'her sker intet
    else
        response.write"<td align='center'><table align='center'>"
        if Request.querystring("Kategori2") = "NA" then
            strSQLA = "SELECT DISTINCT Kategori1, Kategori2, Kategori3 FROM Menu WHERE Kategori1 = '"& AAkonvert(request.querystring("Kategori1")) & "' AND Kategori2 <> '' and varetype='grej' Order by Kategori2, Kategori3"
        else
            strSQLA = "SELECT DISTINCT Kategori1, Kategori2, Kategori3 FROM Menu WHERE (Kategori1 = '"& AAkonvert(request.querystring("Kategori1")) & "' AND Kategori2 = '"& AAkonvert(request.querystring("Kategori2")) &"' AND Kategori3 <> '' and varetype='grej') Order by Kategori2, Kategori3"'
        end if
        set databaseA = Con.Execute(strSQLA)
        response.write"<td align='center'><table align='center'>"
        DO WHILE NOT databaseA.EOF
            for i=1 to 4
            if databaseA.EOF then
            else
                kategori1 = AEkonvert(databaseA("Kategori1"))
                skategori1 = AEkonvert(databaseA("Kategori1"))
                if databaseA("Kategori2") = null then
                    kategori2 = null
                    skategori2 = "IS NULL "
                else
                    kategori2 = AEkonvert(databaseA("Kategori2"))
                    skategori2 = "= '"&AEkonvert(databaseA("Kategori2"))&"'"
                end if
                if databaseA("Kategori3") = null then
                    kategori3 = null
                    skategori3 = "IS NULL "
                else
                    kategori3 = AEkonvert(databaseA("Kategori3"))
                    skategori3 = "= '"&AEkonvert(databaseA("Kategori3"))&"'"
                end if   
                if kategori2 = "" then
                    kategori2 = null
                    skategori2 = "IS NULL "
                end if
                if kategori3 = "" then
                    kategori3 = null
                    skategori3 = "IS NULL"
                end if
                strSQLB = "SELECT Varenr, beskriv100 FROM Varer WHERE Kategori1 = '"& sKategori1 &"' AND Kategori2 "& sKategori2 &" AND Kategori3 "& sKategori3 &" AND LagerAntal > 0 and varetype='grej'"
                set databaseB = Con.Execute(strSQLB)
                response.write "<td width='200'><table border='1'>"
                DBSTI = ""
                IF Kategori1 <> "" then
                    DBSTI = Kategori1
                    IF Kategori2 <> "" then
                        DBSTI = DBSTI & " - " & Kategori2
                        IF Kategori3 <> "" then
                            DBSTI = DBSTI & " - " & Kategori3
                        end if
                    end if
                end if
                response.write "<tr bgcolor='#004000'><td><font color='#FFFFFF'>" & EAkonvert(DBSTI) & "</font></td></tr>"
                set fso = Server.Createobject("scripting.filesystemobject")
                    'TAL = 0
                    'DO WHILE NOT fso.FileExists(Server.mappath("prod/billeder/200/" & databaseB("Varenr") & ".JPG")) AND TAL > 3
                        'databaseB.movenext
                    '    TAL = TAL + 1
                    '    response.write TAL&"<br>"
                    'loop
                    if isnull(kategori2) then
                        kategori2 = "NA"
                    end if
                    if isnull(kategori3) then
                        kategori3 = "NA"
                    end if
                   
                    if databaseB.EOF then
                        response.write "<tr><td><a href='vare.asp?Kategori1="& kategori1 &"&Kategori2="& kategori2 &"&Kategori3="& kategori3 &"&Tilbud=NA&Nyhed=NA&SOEG=NA&EMPTY' target='HOVED'><img src=prod/billeder/200/nopic.png BORDER=0 height=200 width=200></a></td></tr>"   
                    else
                   
    '######################################################loop varer igennem og tjekker for billeder (tager den første den finder)               
    nopic = 0
    varevalgt = ""
    varevalgttext = ""
            set fso = Server.Createobject("scripting.filesystemobject")
    Do While Not databaseB.EOF
        if CInt(nopic) = 0 then
            if fso.FileExists(Server.mappath("prod/billeder/200/" & databaseB("Varenr") & ".JPG")) then
                varevalgt = databaseB("Varenr")
                varevalgttext = databaseB("Beskriv100")
                nopic = 1
                Exit Do
            end if
        end if
        databaseB.MoveNext
    Loop
    'Do While Not databaseB.EOF And CInt(nopic) = 0
    '        if fso.FileExists(Server.mappath("prod/billeder/200/" & databaseB("Varenr") & ".JPG")) then
    '            varevalgt = databaseB("Varenr")
    '            varevalgttext = databaseB("Beskriv100")
    '            nopic = 1
    '        end if
    '    databaseB.MoveNext
    'Loop
            set fso=nothing
   
    if CInt(nopic) = 1 then
    response.write "<tr><td><a href='vare.asp?Kategori1="& kategori1 &"&Kategori2="& kategori2 &"&Kategori3="& kategori3 &"&Tilbud=NA&Nyhed=NA&SOEG=NA' target='HOVED'><img src='prod/billeder/200/"& varevalgt &".jpg' alt='"& varevalgt &" - "& varevalgttext &"' BORDER='0' height='200' width='200'></a></td></tr>"
    else
    response.write "<tr><td><a href='vare.asp?Kategori1="& kategori1 &"&Kategori2="& kategori2 &"&Kategori3="& kategori3 &"&Tilbud=NA&Nyhed=NA&SOEG=NA' target='HOVED'><img src=prod/billeder/200/nopic.png BORDER=0 height=200 width=200></a></td></tr>"
    end if       
    '######################################################
   
    'if fso.FileExists(Server.mappath("prod/billeder/200/" & AEkonvert(databaseB("Varenr")) & ".JPG")) then
    '    %><tr><td><a href='vare.asp?Kategori1=<%=kategori1%>&Kategori2=<%=kategori2%>&Kategori3=<%=kategori3%>&Tilbud=NA&Nyhed=NA&SOEG=NA' target='HOVED'><img src="prod/billeder/200/<%=databaseB("Varenr")%>.jpg" alt="<%=databaseB("varenr")%> - <%=databaseB("Beskriv100")%>" BORDER="0" height="200" width="200"></a></td></tr><%
    'else
    'response.write "<tr><td><a href='vare.asp?Kategori1="& kategori1 &"&Kategori2="& kategori2 &"&Kategori3="& kategori3 &"&Tilbud=NA&Nyhed=NA&SOEG=NA' target='HOVED'><img src=prod/billeder/200/nopic.png BORDER=0 height=200 width=200></a></td></tr>"
    'end if               
   
                    end if   
                response.write "</table></td>"
                databaseA.MoveNext
            end if
            next
            response.write "</tr>"
        loop
        response.write "<tr><td align='center' colspan='4'>Klik overstående billeder for at se undermenuen</td></tr>"
        response.write "</table>"
    end if   
else
  varenrJava=database("Varenr")
  response.write"<td align='center'><table align='center'>"
  DO WHILE NOT database.EOF
    call lagertjek
        if NOT (database.EOF) then
        response.write "<tr height='*'>"
        for i=1 to w
            if NOT (database.EOF) then
                response.write"<td valign='top' width='200' border='1'>"
                call vare1
                response.write"</td>"
                database.movenext
            else
                'response.write"<td></td>"
            end if
            call lagertjek
           
        next
        response.write "</tr>"
      end if
  loop
  response.write"<input type='hidden' value='"&a&"' name='demotal'>"
  response.write"</table>"
  call forbehold
end if
end sub
Avatar billede claes57 Ekspert
20. november 2015 - 17:09 #12
hvis du hos dig ser på den dannede kode, er de to billeder i hver sin tabel, eller kommer de lige efter hinanden i samme tabel?
Avatar billede DMO Novice
20. november 2015 - 17:34 #13
de kommer i samme tabel.

<tbody>
<tr bgcolor="#004000"><td><font color="#FFFFFF">redakt - redakt</font></td></tr>
<tr><td><a href="vare.asp?Kategori1=redakt&amp;Kategori2=redakt&amp;Kategori3=NA&amp;Tilbud=NA&amp;Nyhed=NA&amp;SOEG=NA" target="HOVED">
<img src="prod/billeder/200/redakt.jpg" alt="redakt - redakt" border="0" height="200" width="200"></a></td></tr>
<tr><td><a href="vare.asp?Kategori1=redakt&amp;Kategori2=redakt&amp;Kategori3=NA&amp;Tilbud=NA&amp;Nyhed=NA&amp;SOEG=NA" target="HOVED">
<img src="prod/billeder/200/redakt.jpg" alt="redakt - redakt" border="0" height="200" width="200"></a></td></tr>
</tbody>
Avatar billede claes57 Ekspert
20. november 2015 - 18:04 #14
ok - det er IKKE Sub liste, der er kaldt 2 gange - så fejlen ligger i selve Sub liste. Jeg ser på det i weekend (holder fri nu).
Avatar billede DMO Novice
27. november 2015 - 08:35 #15
måske er der en måde jeg kan fjerne eller stoppe anden billede efter den er lavet. hm
Avatar billede claes57 Ekspert
27. november 2015 - 08:54 #16
prøv lige min kodestump igen, men ret fra
Do While Not databaseB.EOF And CInt(nopic) = 0
til
Do While Not databaseB.EOF Or CInt(nopic) = 0
Avatar billede DMO Novice
27. november 2015 - 11:44 #17
desværre for jeg denne fejl.
den laver første kategori titel og billede, men fejler ved anden billede som ikke burde laves.
med "AND" lavede den 2 billeder.
ved "OR" er den første billede den samme som var ekstra ved brug af "AND"

ADODB.Field error '80020009'

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

/vare.asp, line 0
Avatar billede claes57 Ekspert
27. november 2015 - 12:08 #18
ok - vi tager nødbremsen, og undgår bare billede nr 2.
stykket
  if CInt(nopic) = 1 then
    response.write "<tr><td><a href='vare.asp?Kategori1="& kategori1 &"&Kategori2="& kategori2 &"&Kategori3="& kategori3 &"&Tilbud=NA&Nyhed=NA&SOEG=NA' target='HOVED'><img src='prod/billeder/200/"& varevalgt &".jpg' alt='"& varevalgt &" - "& varevalgttext &"' BORDER='0' height='200' width='200'></a></td></tr>"
    else

der indskydes et par linjer
  if CInt(nopic) = 1 then
    if len(varevalgt)>0 then
    response.write "<tr><td><a href='vare.asp?Kategori1="& kategori1 &"&Kategori2="& kategori2 &"&Kategori3="& kategori3 &"&Tilbud=NA&Nyhed=NA&SOEG=NA' target='HOVED'><img src='prod/billeder/200/"& varevalgt &".jpg' alt='"& varevalgt &" - "& varevalgttext &"' BORDER='0' height='200' width='200'></a></td></tr>"
    varevalgt = ""
    end if
    else

det nulstiller varevalgt efter første udskrift, så det ikke vises anden gang. Jeg håber ikke, at du bruger varevalgt senere i koden.
Avatar billede DMO Novice
30. november 2015 - 10:01 #19
det virker ikke, faktisk ingen ændring?

jeg tænkte på at skjule den med css, men enten om jeg tager min eller din kode så får jeg en bof/eof fejl, vis kategori ingen billede har eller vis den kun har en resultat i databasen.

den vil bare lave den anden resultat
Avatar billede claes57 Ekspert
30. november 2015 - 10:29 #20
Jeg er løbet tør for idéer...
Avatar billede DMO Novice
30. november 2015 - 12:40 #21
jeg er ellers godt inden i asp, men når logik ikke vil give logiske resultater så står jeg på bar bund.
når jeg får tid vil jeg prøve en anden side eller nogen andre.

tak for at du ville prøve og hjælpe
Avatar billede DMO Novice
01. december 2015 - 14:45 #22
Kan ASP virkelig ignorere, kommentering?
Den her? --> '
Avatar billede DMO Novice
20. april 2016 - 09:41 #23
Af en eller anden grund kørte min kode noget kode der var udkommentere med '
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