Avatar billede ze-men Nybegynder
07. juni 2006 - 12:48 Der er 16 kommentarer og
1 løsning

Hjælp til "BOF or EOF"-problem

Hej..

Jeg sidder og roder med nogle koder som jeg ændre lidt i, da jeg ikke et hardcore programmør og selv starter helt hundrede fra bunden. Jeg her en kode fra en side jeg har lavet herunder, men når jeg vil opdatere profilen fra Access-dabatasen (som er hentet frem i siden/koden herunder vises følgende fejl:

ADODB.Recordset error '800a0bcd'
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
/timeline_edit.asp, line 18


Kan I hjælpe??

Her følger koden for hele siden:

--------------------------------------------
<!-- #include file = "meny.asp" -->
<table width="750" border="0" align="center" cellpadding="0" cellspacing="1" class="roundTabel">
  <tr>
    <td height="20" class="topTabel"><div align="center"><strong><font size="2">[&AElig;NDRE PROFIL] </font></strong></div></td>
  </tr>
  <tr>
    <td class="mainTabel">
      <form name="form1" method="post" action="timeline_edit.asp?action=spara">
        <%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("databas/timeline.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM timeline where id='"&request.querystring("id")&"'"
rs.Open Addera, Connect, 3, 3

if request.querystring("action")="spara" then

rs("projekt")=request.form("projekt")
rs("programtype")=request.form("programtype")
rs("aftalt")=request.form("aftalt")
rs("optagedag")=request.form("optagedag")
rs("deadline")=request.form("deadline")
rs("broadcast")=request.form("broadcast")
rs("ambizz")=request.form("ambizz")
rs("kontaktet")=request.form("kontaktet")
rs("optaget")=request.form("optaget")
rs("klippet")=request.form("klippet")
rs("klar")=request.form("klar")
rs("producent")=request.form("producent")
rs("redaktor")=request.form("redaktor")
rs("journalist")=request.form("journalist")
rs("foto")=request.form("foto")
rs("klip")=request.form("klip")
rs("viptak")=request.form("viptak")
rs("bemaerk")=request.form("bemaerk")
if request.form("bild")&"" = "" then
rs("bild")=request.form("radiobutton")
else
rs("bild")=request.form("bild")
end if

rs("farg")=request.form("farg")
rs.update
response.Redirect "timeline_edit.asp"
end if

%>
        <div align="center">
          <table width="600"  border="0" align="center" cellpadding="0" cellspacing="0">
            <tr class="body3">
              <td height="20" colspan="6"><div align="center"><strong>REDIG&Eacute;R EN PRODUKTION </strong></div></td>
            </tr>
            <tr>
              <td width="100" height="30"><strong>Projektnavn:</strong></td>
              <td height="30" colspan="5"><span class="fontOK"><span class="style4"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1">
                <input name="projekt" type="text" class="infoBoxBg" value="<%=rs("projekt")%>" size="40">
              </font></font> </font></span></span></td>
            </tr>
            <tr>
              <td width="100" height="30"><strong>Programtype:</strong></td>
              <td height="30" colspan="5"><span class="fontOK"><span class="style4"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1">
                <input name="programtype" type="text" class="infoBoxBg" id="programtype3" value="<%=rs("programtype")%>" size="40">
              </font></font> </font></span></span></td>
            </tr>
            <tr>
              <td height="10" colspan="6">&nbsp;</td>
            </tr>
            <tr class="body3">
              <td width="100" height="20"><strong>Datoer:</strong></td>
              <td width="100" height="20"><div align="center"><strong>Aftalt</strong></div></td>
              <td width="100" height="20"><div align="center"><strong>Optagedag</strong></div></td>
              <td width="100" height="20"><div align="center"><strong>Deadline</strong></div></td>
              <td width="100" height="20"><div align="center"><strong>Broadcast</strong></div></td>
              <td width="100" height="20"><div align="center"></div></td>
            </tr>
            <tr>
              <td width="100" height="30">&nbsp;</td>
              <td width="100" height="30"><div align="center"><span class="fontOK"><span class="style4"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1">
                  <input name="aftalt" type="text" class="infoBoxBg" id="aftalt4" value="<%=rs("aftalt")%>" size="10">
              </font></font></font></font></font> </font></font></font></font></font></span></span> </div></td>
              <td width="100" height="30"><div align="center"><span class="fontOK"><span class="style4"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1">
                  <input name="optagedag" type="text" class="infoBoxBg" id="optagedag5" value="<%=rs("optagedag")%>" size="10">
              </font></font></font></font></font></font></font></font></font></font></font></font></font> </font></font></font></font></font></span></span> </div></td>
              <td width="100" height="30"><div align="center"><span class="fontOK"><span class="style4"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1">
                  <input name="deadline" type="text" class="infoBoxBg" id="deadline5" value="<%=rs("deadline")%>" size="10">
              </font></font></font></font></font> </font></font></font></font></font></font></font></font> </font></font></font></font></font></span></span> </div></td>
              <td width="100" height="30"><div align="center"><span class="fontOK"><span class="style4"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1">
                  <input name="broadcast" type="text" class="infoBoxBg" id="broadcast5" value="<%=rs("broadcast")%>" size="10">
              </font></font></font></font></font> </font></font></font></font></font></span></span> </div></td>
              <td width="100" height="30"><div align="center"><span class="fontOK"><span class="style4"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"> </font></font></font></font></font></span></span> </div></td>
            </tr>
            <tr>
              <td height="10" colspan="6">&nbsp;</td>
            </tr>
            <tr class="body3">
              <td height="20"><strong>Status:</strong></td>
              <td height="20"><div align="center"><strong>Ambizz</strong></div></td>
              <td height="20"><div align="center"><strong>Kontaktet</strong></div></td>
              <td height="20"><div align="center"><strong>Optaget</strong></div></td>
              <td height="20"><div align="center"><strong>Klippet</strong></div></td>
              <td height="20"><div align="center"><strong>Klar</strong></div></td>
            </tr>
            <tr>
              <td height="30">&nbsp;</td>
              <td height="30"><div align="center"><span class="fontOK"><span class="style4"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1">
                  <select name="ambizz" size="1" class="infoBoxBg" id="select6">
                    <option value="Ja" <%If (Not isNull(rs("ambizz"))) Then If ("Ja" = CStr(rs("ambizz"))) Then Response.Write("SELECTED") : Response.Write("")%>>Ja</option>
                    <option value="Nej" <%If (Not isNull(rs("ambizz"))) Then If ("Nej" = CStr(rs("ambizz"))) Then Response.Write("SELECTED") : Response.Write("")%>>Nej</option>
                  </select>
              </font></font></font></font> </font></span></span></div></td>
              <td height="30"><div align="center">
                  <select name="kontaktet" size="1" class="infoBoxBg" id="select7">
                    <option value="Ja" <%If (Not isNull(rs("kontaktet"))) Then If ("Ja" = CStr(rs("kontaktet"))) Then Response.Write("SELECTED") : Response.Write("")%>>Ja</option>
                    <option value="Nej" <%If (Not isNull(rs("kontaktet"))) Then If ("Nej" = CStr(rs("kontaktet"))) Then Response.Write("SELECTED") : Response.Write("")%>>Nej</option>
                  </select>
              </div></td>
              <td height="30"><div align="center"><span class="fontOK"><span class="style4"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"> <font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1">
                  <select name="optaget" size="1" class="infoBoxBg" id="select8">
                    <option value="Ja" <%If (Not isNull(rs("optaget"))) Then If ("Ja" = CStr(rs("optaget"))) Then Response.Write("SELECTED") : Response.Write("")%>>Ja</option>
                    <option value="Nej" <%If (Not isNull(rs("optaget"))) Then If ("Nej" = CStr(rs("optaget"))) Then Response.Write("SELECTED") : Response.Write("")%>>Nej</option>
                  </select>
              </font></font></font></font> </font></font></font> </font></span></span></div></td>
              <td height="30"><div align="center">
                  <select name="klippet" size="1" class="infoBoxBg" id="select9">
                    <option value="Ja" <%If (Not isNull(rs("klippet"))) Then If ("Ja" = CStr(rs("klippet"))) Then Response.Write("SELECTED") : Response.Write("")%>>Ja</option>
                    <option value="Nej" <%If (Not isNull(rs("klippet"))) Then If ("Nej" = CStr(rs("klippet"))) Then Response.Write("SELECTED") : Response.Write("")%>>Nej</option>
                  </select>
              </div></td>
              <td height="30"><div align="center"><span class="fontOK"><span class="style4"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1">
                  <select name="klar" size="1" class="infoBoxBg" id="select10">
                    <option value="Ja" <%If (Not isNull(rs("klar"))) Then If ("Ja" = CStr(rs("klar"))) Then Response.Write("SELECTED") : Response.Write("")%>>Ja</option>
                    <option value="Nej" <%If (Not isNull(rs("klar"))) Then If ("Nej" = CStr(rs("klar"))) Then Response.Write("SELECTED") : Response.Write("")%>>Nej</option>
                  </select>
              </font></font></font> </font></span></span></div></td>
            </tr>
            <tr>
              <td height="10" colspan="6">&nbsp;</td>
            </tr>
            <tr class="body3">
              <td width="100" height="20"><strong>Crew:</strong></td>
              <td width="100" height="20">&nbsp;</td>
              <td width="100" height="20">&nbsp;</td>
              <td width="100" height="20">&nbsp;</td>
              <td width="100" height="20">&nbsp;</td>
              <td width="100" height="20">&nbsp;</td>
            </tr>
            <tr>
              <td width="100" height="30"><strong>Producent:</strong></td>
              <td height="30" colspan="2"><span class="fontOK"><span class="style4"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1">
                <input name="producent" type="text" class="infoBoxBg" id="producent4" value="<%=rs("producent")%>">
              </font></font></font></font></span></span><span class="fontOK"><span class="style4"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"> </font></font></font> </font></span></span></td>
              <td height="30"><strong>Fotograf:</strong></td>
              <td height="30" colspan="2"><span class="fontOK"><span class="style4"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1">
                <input name="foto" type="text" class="infoBoxBg" id="foto3" value="<%=rs("foto")%>">
              </font></font></font> </font></span></span></td>
            </tr>
            <tr>
              <td width="100" height="30"><strong>Redakt&oslash;r:</strong></td>
              <td height="30" colspan="2"><span class="fontOK"><span class="style4"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1">
                <input name="redaktor" type="text" class="infoBoxBg" id="redaktor4" value="<%=rs("redaktor")%>">
              </font></font></font></font></span></span><span class="fontOK"><span class="style4"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"> </font></font></font> </font></span></span></td>
              <td height="30"><strong>Klipper:</strong></td>
              <td height="30" colspan="2"><span class="fontOK"><span class="style4"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1">
                <input name="klip" type="text" class="infoBoxBg" id="klip3" value="<%=rs("klip")%>">
              </font></font></font> </font></span></span></td>
            </tr>
            <tr>
              <td height="30"><strong>Journalist:</strong></td>
              <td height="30" colspan="2"><span class="fontOK"><span class="style4"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1">
                <input name="journalist" type="text" class="infoBoxBg" id="journalist4" value="<%=rs("journalist")%>">
              </font></font></font></font></span></span><span class="fontOK"><span class="style4"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1"> </font></font></font> </font></span></span></td>
              <td height="30">&nbsp;</td>
              <td height="30" colspan="2">&nbsp;</td>
            </tr>
            <tr>
              <td height="10" colspan="6">&nbsp;</td>
            </tr>
            <tr>
              <td height="30" valign="top"><strong>Takkeliste:</strong></td>
              <td height="30" colspan="5"><span class="fontOK"><span class="style4"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1">
                <textarea name="viptak" cols="70" rows="10" class="infoBoxBg" id="viptak3"><%=rs("viptak")%></textarea>
              </font></font> </font></span></span></td>
            </tr>
            <tr>
              <td height="10" colspan="6">&nbsp;</td>
            </tr>
            <tr>
              <td height="30" valign="top"><strong>Notater:</strong></td>
              <td height="30" colspan="5"><span class="fontOK"><span class="style4"><font face="Verdana" size="-1"><font face="Verdana" size="-1"><font face="Verdana" size="-1">
                <textarea name="bemaerk" cols="70" rows="10" class="infoBoxBg" id="bemaerk3"><%=rs("bemaerk")%></textarea>
              </font></font> </font></span></span></td>
            </tr>
            <tr>
              <td height="10" colspan="6">&nbsp;</td>
            </tr>
            <tr>
              <td height="30">&nbsp;</td>
              <td height="30" colspan="5"><input name="Submit" type="submit" class="inputKnap" value="Gem &aelig;ndringer"></td>
            </tr>
          </table>
        </div>
      </form>
      <a href="timeline.asp">Tilbage til oversigten </a><br> </td>
  </tr>
</table>
<br>
<br>
<!-- #include file = "under.asp" -->
---------------------------------------------------------
Avatar billede softspot Forsker
07. juni 2006 - 13:05 #1
Fejlen betyder umiddelbart at du forsøger at læse i et recordset som ikke har noget indhold (der er m.a.o. ikke fundet nogle rækker i den forspørgsel du har kørt).

Addera = "SELECT * FROM timeline where id='"&request.querystring("id")&"'"

Jeg vil umiddelbart gætte på at request.querystring("id") ikke har noget indhold eller at det som request.querystring("id") indeholder ikke findes i databasen. Så derfor skal du nok checke om den der kalder siden også har specificeret et korrekt/gyldigt id...
Avatar billede ze-men Nybegynder
07. juni 2006 - 13:29 #2
Hmm...

Jeg har tjekket - ID'et som der bliver spurgt efter i adresselinjen stemmer korrekt overens med det ID der findes i databasen. Når jeg åbner siden (altså koden jeg skrev ovenfor) så henter den også de oplysninger der allerede ligger i databasen p.t. er der noget i feltet "Projekt" og "Programtype" - begge bliver hentet.

Den melder fejlen når jeg klikker "Gem Ændringer"...
Avatar billede softspot Forsker
07. juni 2006 - 14:33 #3
<form name="form1" method="post" action="timeline_edit.asp?action=spara">

Du har ikke noget id i din action på form'en (med mindre der er noget scriptkode som jeg ikke lige har fået øje på)...
Avatar billede ze-men Nybegynder
07. juni 2006 - 14:55 #4
Ja, har du ret i.. har ændret det - men samme fejlkode kommer stadig frem.. Har opdateret..
Avatar billede softspot Forsker
07. juni 2006 - 14:58 #5
Prøv lige at udskrive sql-sætningen i stedet for at køre den (og stop koden umiddebart efter):

Addera = "SELECT * FROM timeline where id='"&request.querystring("id")&"'"
Response.Write Addera
Response.End
'rs.Open Addera, Connect, 3, 3


og så fortæl hvad den skriver...
Avatar billede ze-men Nybegynder
07. juni 2006 - 15:28 #6
Okay har jeg gjort.. Nu skriver den bare:

SELECT * FROM timeline where id='{F346F301-10BD-4C98-8A78-15A9C2033466}'

Jeg satte præcis det ind du skrev - satte det ind i stedet for:
Addera = "SELECT * FROM timeline where id='"&request.querystring("id")&"'"
rs.Open Addera, Connect, 3, 3

......
Avatar billede softspot Forsker
07. juni 2006 - 15:34 #7
Det er rigtig fint :)

Og der findes en række i tabellen timeline som har det der id eller hvad?
Avatar billede ze-men Nybegynder
07. juni 2006 - 15:38 #8
Ja, der er en række med den tabel...
Avatar billede softspot Forsker
07. juni 2006 - 15:40 #9
Ehm... jeg skal lige være HELT sikker på hvad du mener: Er der en række i tabellen eller er der en række med netop det id i tabellen...?
Avatar billede ze-men Nybegynder
07. juni 2006 - 15:43 #10
Ja, heh..

Der er nogle kollonner hvoraf en hedder "id". I denne kollonne, er en række her har det ID jeg skrev (F346F301-10BD-4C98-8A78-15A9C2033466) - og som asp-siden skriver..
Avatar billede softspot Forsker
07. juni 2006 - 15:49 #11
OK godt så :)

og når du skriver:

Addera = "SELECT * FROM timeline where id='"&request.querystring("id")&"'"
'Response.Write Addera
'Response.End
rs.Open Addera, Connect, 3, 3

i koden, så fejler den (når du kalder siden på nøjagtig samme måde igen). Prøv evt. med denne kode (der udskriver SQL-sætningen inden den udfører den osv viser data):

Addera = "SELECT * FROM timeline where id='"&request.querystring("id")&"'"
Response.Write Addera
Response.Flush
rs.Open Addera, Connect, 3, 3
Avatar billede ze-men Nybegynder
07. juni 2006 - 15:53 #12
Ja, skriver jeg:
Addera = "SELECT * FROM timeline where id='"&request.querystring("id")&"'"
'Response.Write Addera
'Response.End
rs.Open Addera, Connect, 3, 3

- så kommer fejlkoden igen..

Gør jeg som dit sidste forslag, altså skriver:
Addera = "SELECT * FROM timeline where id='"&request.querystring("id")&"'"
Response.Write Addera
Response.Flush
rs.Open Addera, Connect, 3, 3

så skriver den både:

SELECT * FROM timeline where id='{F346F301-10BD-4C98-8A78-15A9C2033466}'

- og fejlkoden:
ADODB.Recordset error '800a0bcd'

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

/timeline_edit.asp, line 21
Avatar billede softspot Forsker
07. juni 2006 - 16:01 #13
Hmm... hvad står der i linie 21 af timeline_edit.asp?
Avatar billede ze-men Nybegynder
07. juni 2006 - 16:06 #14
Det er det første felt der bliver spuyrgt om:

19 if request.querystring("action")="spara" then
20
21 rs("projekt")=request.form("projekt")
22 rs("programtype")=request.form("programtype")
23 rs("aftalt")=request.form("aftalt")
24 rs("optagedag")=request.form("optagedag")
25 rs("deadline")=request.form("deadline")
26 rs("broadcast")=request.form("broadcast")


!?!?.....
Avatar billede softspot Forsker
07. juni 2006 - 16:09 #15
OK, det er sq spøjst! Hvis den rent faktisk finder noget i den select, så kan det være du skal kalde rs.movefirst inden du begynder at opdatere felternes værdier... prøv det :)
Avatar billede ze-men Nybegynder
27. maj 2008 - 11:39 #16
afsluttet
Avatar billede softspot Forsker
27. maj 2008 - 11:50 #17
Velbekomme...
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