10. oktober 2002 - 13:09Der er
8 kommentarer og 1 løsning
recursive delete
Hej Eksperter
Jeg får en fejl når jeg kalder min recursive funktion:
Microsoft VBScript runtime (0x800A01FB) An exception occurred: 'Execute'
Derefter er det lige meget hvilken side jeg forsøger at går ind på så får jeg fejlen. Det virker som om alle ressourcer er opbrugt. Hvis jeg fjerner det recursive kald kører den fint igennem. Der er ikke mere end højst 30 poster der skal slettes så det kan ikke være det.
RecurseDelPages1 pid
sub RecurseDelPages1(PageID) dim rs Set oRs = oConn.Execute("DELETE FROM webwebpagespermissions WHERE groupid=0 and pageid=" & pageid & " and languag=" & pagelanguage(pid,defaultlan)) Set oRs = Nothing
set rs = oConn.execute("SELECT translatedpageid as id,languageid FROM webwebpagestranslated WHERE pageid =(" & ("SELECT pageid FROM webwebpagestranslated WHERE translatedpageid=" & pageid) & ")") while not rs.eof langpageid = rs("languageid") if IsNull(langpageid) or langpageid="" then langpageid = defaultlan if pagelanguage(pid,defaultlan) = langpageid then
RecurseDelPages1 rs("id") 'recursive kald
end if rs.movenext wend rs.close set rs = nothing end sub
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
execute skla stå med lille i følgende sætning : Set oRs = oConn.Execute("DELETE FROM webwebpagespermissions WHERE groupid=0 and pageid=" & pageid & " and languag=" & pagelanguage(pid,defaultlan)) Det er det eneste jeg umiddelbart kan se !
Gem dine id-er i et array eller dictionary, så du får lukket dit recordset inden du kalder rekursivt. Strengt taget kan du så lave være med at gøre det rekursivt - men med en whileløkke :)
functionen finder sider og undersider i et hieraki. Sider i hierakiet bliver slået op i webwebpagestranslated for at finde ud af hvilke sider der skal ændres rettigheder på. pageid og languageid findes i webwebpagestranslated tabellen.
siderne bliver herefter fjernet fra webwebpagespermissions tabellen. pageid, languageid findes i webwebpagespermissions tabellen
Der er også andre felter i tabellerne men de her er de vigtigste i denne sammenhæng.
I en anden funktion bliver rettelserne smidt i webwebpagespermissions databasen igen.
Det hele virker fint nok bare ikke når jeg kalder recursivt.
jeg lukker den her. Projectet blev aldrig til noget alligevel.
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.