06. marts 2003 - 09:36Der er
12 kommentarer og 1 løsning
Rekursiv rutine
Hey
Jeg har en lavet en rekursiv rutine der har til formål at hente et givent antal menu punkter og børn og børnebørn til disse fra en tabel.
Men af en eller anden uforklarlig årsag får jeg en fejl der lyder: "Eeither BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record."
Min kode ser således ud:
<% Dim aStrConn Dim aStrSql Dim aStrRec Dim aStrNode
HUSK - gem dit password til db'en!! har før haft en herinde der blev "hacket"...
prøv følgende;
Select Parent_ID, Child_ID, Text From TblMenu Where Child_ID = " & ParentID Set aStrRec = aStrConn.Execute(aStrSql)
If aStrRec.EOF then response.write "resultat er tomt" else Do While Not aStrRec.Eof aStrNode = aStrNode & aStrRec("Child_ID") & ":" & aStrRec("Parent_ID") & ":" & aStrRec("Text") & "," Call GetNode (aStrRec("Parent_ID")) aStrRec.MoveNext Loop end if
Du er nød til at definere dit recordset inde i functionen og ikke som en global. Eller overskriver du dine gamle data for hver gang du kalder dunctionen og så det vil virkede ned til den sidste. På vej tilbage vil dit recordet så være tomt og den vil fejle i aStrRec.MoveNext Så lav koden sådan her: Din Connection skulle gerne kunne være global da det er samme database.
eagleeye >> Nej det var min fejl - jeg byttede rundt på Parent og Child id i min forspørgsel. Det virker fint nu. Mange tak :-)
Synes godt om
Ny brugerNybegynder
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.