Avatar billede cesil Nybegynder
10. oktober 2002 - 13:09 Der 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
Avatar billede hbhansen Nybegynder
10. oktober 2002 - 13:11 #1
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 !
Avatar billede the_bma_man Nybegynder
10. oktober 2002 - 13:17 #2
Det er ligemeget
Avatar billede cesil Nybegynder
10. oktober 2002 - 13:17 #3
så let var det desværre ikke
Avatar billede the_bma_man Nybegynder
10. oktober 2002 - 13:18 #4
Prøv lige at give en beskrivelse af, hvilke felter, du har i hvilke tabeller!!
Avatar billede hbhansen Nybegynder
10. oktober 2002 - 13:20 #5
Endvidere så gør du følgende:
dim rs
Set oRs ...

skulle det ikke være
dim rs
dim Ors

Det er kun rs du dim'er !
Avatar billede erikjacobsen Ekspert
10. oktober 2002 - 13:21 #6
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 :)
Avatar billede cesil Nybegynder
10. oktober 2002 - 13:34 #7
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.
Avatar billede cesil Nybegynder
10. oktober 2002 - 13:37 #8
erikjacobsen > Det lyder som en god ide. Det prøver jeg
Avatar billede cesil Nybegynder
26. november 2002 - 14:17 #9
jeg lukker den her. Projectet blev aldrig til noget alligevel.
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