Avatar billede thomas_b Nybegynder
31. marts 2005 - 01:52 Der er 17 kommentarer og
1 løsning

Fejl > Either BOF or EOF is True, or the current record

Hej eksperter...
Der er gået ged i min kode...!
Jeg skal have den til når den finder "side_2" der svare til "rs("side")" at den skal komme med en popup... Men hvis den ikke finder de to der matcher hinanden skal den sende brugern videre til: response.redirect ("?cmd=3&sec=3&DEL="& Request.QueryString("ID"))
Men det virker ikke..! den kommer med denne fejl...:
-------------------------------
ADODB.Field error '800a0bcd'

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

3.asp, line 196
-------------------------------
Sådan ser koden ud lige nu...:
-------------------------------
do while not rs.bof

side_2 = rs("side")

if side_2 = side then
%><script>alert('Der er et link til denne side i menuen !');top.location.href = "?cmd=3&sec=3";</script><%
end if

rs.movenext
loop

if rs.eof = true then
response.redirect ("?cmd=3&sec=3&DEL="& Request.QueryString("ID"))
end if
-------------------------------
Håber meget i kan hjælpe mig...!
På forhånd tak.
/Thomas
Avatar billede moejensen Nybegynder
31. marts 2005 - 07:02 #1
hvad står der i linie 196?

du behøver i øvrigt ikke at skrive if rs.eof = true then, du kan nøjes med:

if rs.eof then
Avatar billede fennec Nybegynder
31. marts 2005 - 08:13 #2
do while not rs.bof

skal være
do while not rs.eof

bof = beginning of file
eof = end of file

med bof bliver den ved med at løbe loopet igennem, selv om den er noet til slutningen.
Avatar billede thomas_b Nybegynder
31. marts 2005 - 11:12 #3
Hvad så med når den for konstateret der ikke er "side_2 = side" og så den sender mig videre til: response.redirect ("?cmd=3&sec=3&DEL="& Request.QueryString("ID"))
Hvordan kan man så lave det...?

moejensen -> der står i linie 196: side_2 = rs("side")
Avatar billede fennec Nybegynder
31. marts 2005 - 11:19 #4
Kan du forklare hvad dette script skal gøre, for nu laver den altid en redirect, hvilket du jo ikke er intreseret i.

Jeg går ud fra det er et cms system, som tjekker om der er link til siden og hvis der ikke er kan siden slettes (redirecten), ellers vises siderne hvor der er link. Er det rigtig opfattet???
Avatar billede thomas_b Nybegynder
31. marts 2005 - 14:15 #5
Yes... det er rigtigt...
Avatar billede fennec Nybegynder
31. marts 2005 - 14:18 #6
Dette burde virke:

if rs.eof then
  response.redirect ("?cmd=3&sec=3&DEL="& Request.QueryString("ID"))
else
  do while not rs.bof
    side_2 = rs("side")
    if side_2 = side then
%><script>alert('Der er et link til denne side i menuen !');top.location.href = "?cmd=3&sec=3";</script><%
    end if
    rs.movenext
  loop
end if
Avatar billede thomas_b Nybegynder
31. marts 2005 - 17:19 #7
den viser stadig den samme fejl...!
-----------------
ADODB.Field error '800a0bcd'

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

3.asp, line 196
Avatar billede fennec Nybegynder
01. april 2005 - 08:29 #8
Det er mig der har klippet/kklistret forkert :o)

if rs.eof then
  response.redirect ("?cmd=3&sec=3&DEL="& Request.QueryString("ID"))
else
  do while not rs.eof
    side_2 = rs("side")
    if side_2 = side then
%><script>alert('Der er et link til denne side i menuen !');top.location.href = "?cmd=3&sec=3";</script><%
    end if
    rs.movenext
  loop
end if

Der stod rs.bof i loopet i stedet for rs.eof...
Avatar billede thomas_b Nybegynder
01. april 2005 - 11:08 #9
Nu, bliver den bare stående på den side med de samme QueryString som det netop samme script ligger i...!
Avatar billede fennec Nybegynder
01. april 2005 - 11:29 #10
Har du et link???
Avatar billede thomas_b Nybegynder
01. april 2005 - 12:03 #11
Avatar billede thomas_b Nybegynder
01. april 2005 - 12:05 #12
og så prøv at klikke på: Konkurrence
Avatar billede fennec Nybegynder
01. april 2005 - 12:11 #13
Så skal vi til at debugge :o)

if rs.eof then
  response.write "1."
  response.end
  response.redirect ("?cmd=3&sec=3&DEL="& Request.QueryString("ID"))
else
  response.write "2."
  response.end
  do while not rs.eof
Avatar billede thomas_b Nybegynder
01. april 2005 - 12:39 #14
så viser den: 2. !!!
Avatar billede fennec Nybegynder
01. april 2005 - 12:43 #15
Så er jeg måske mere med på hvordan det fungere:

if rs.eof then
  response.redirect ("?cmd=3&sec=3&DEL="& Request.QueryString("ID"))
else
  deleteIT = true
  do while not rs.eof
    side_2 = rs("side")
    if side_2 = side then
      deleteIT = false
%><script>alert('Der er et link til denne side i menuen !');top.location.href = "?cmd=3&sec=3";</script><%
    end if
    rs.movenext
  loop
  if deleteIT then
    response.redirect ("?cmd=3&sec=3&DEL="& Request.QueryString("ID"))
  end if
end if
Avatar billede thomas_b Nybegynder
01. april 2005 - 12:49 #16
Det virker! du får point...
men kan du ikke forklare mig hvad dette script bygger på (hvordan det virker...)
Avatar billede fennec Nybegynder
01. april 2005 - 13:11 #17
Det er lidt svært at forklare, men jeg prøver :o)

Først tjekes der om der er noget data i recordsettet ("if rs.eof then"). Hvis ikke kan der slettes.
Så sættes deleteIT til true.
Så løbes recordsettet igennem ("do while not rs.eof").
Hvis der er et link til siden ("if side_2 = side then") sættes deleteIT til false og der gives besked til brugeren.
Slut på gennemløb ("loop").
Hvis der IKKE har været links til siden er deleteIT = true, ellers er den false.
deleteIT tjekkes ("if deleteIT then") og hvis den er true kan siden slettes.
Avatar billede thomas_b Nybegynder
01. april 2005 - 13:42 #18
takker...
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