Avatar billede tblaster Nybegynder
07. marts 2004 - 13:37 Der er 1 løsning

Løbe en masse menuer igennen og tæller antal poster i menuerne.

Hvad er der ligt galt her?

    Sql = "SELECT ID, Navn, Antal FROM Kategorier ORDER BY ID"
    set rs = conn.execute(sql)
   
    Do While not rs.eof
        DB_ID                        = rs("ID")
        DB_Navn                        = rs("Navn")
        DB_Antal                    = rs("Antal")
       
        Antal = CountAntal(DB_ID)
        Sql2 = "UPDATE Kategorier Set Antal = " & Antal & " Where ID = " & DB_ID & ""
        Set Rs2 = Conn.Execute(Sql2)
       
        Str = Str & DB_Navn & " [" & Antal & "] <br>"
       
        rs.movenext
    Loop

Function CountAntal(ByVal ID)
    dim Sql, Sql2, Antal
   
    Sql = "SELECT count(*) AS Antal FROM Data Where ParentID = " & ID & ""
    set rs = conn.execute(sql)
   
    Antal = rs("Antal")
   
    Set rs2 = Server.CreateObject("ADODB.Recordset")
    Sql2 = "SELECT ID FROM Kategorier Where ParentID = " & ID & " Order By ID"
    rs2.Open Sql2, Conn, 1, 1
       
    do while not rs2.eof
        db_ID            = rs2("ID")
        Antal = Antal + CountAntal(db_ID)
        rs2.movenext()
    loop
   
    CountAntal        = Antal
End Function

Når jeg løber den igennem så får jeg kun udskrevet min første kategori. Ændre jeg derimod min kode så følgende ikke er med:

        Antal = CountAntal(ID)
        Sql2 = "UPDATE Kategorier Set Antal = " & Antal & " Where ID = " & ID & ""
        Set Rs2 = Conn.Execute(Sql2)
       
        Str = Str & DB_Navn & " [" & Antal & "] <br>"

Så virker det fint. Jeg har derfor lidt på fornemelsen at det er som om at serveren kan se at jeg laver en kæmpe forspørgsel og derfor stopper den koden efter jeg har kørt den igennem en gang. Hvad skal jeg lige gøre for at fikse dette problem eller hvad er det jeg gør galt ... er det evt. min CountAntal der er noget galt med der gør at den kun kan køres en gan??
Avatar billede tblaster Nybegynder
07. marts 2004 - 13:43 #1
Whee ... efter jeg har smidt min besked her kom jeg lige til at se i min funktion for at checke at den var rigtigt og jeg lagde mærke til at jeg havde glemt at dim min rs og rs 2 ... det var bare det der skulle til :-D

dim Sql, Sql2, Antal, rs, rs2
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