Avatar billede ares Nybegynder
21. februar 2001 - 23:51 Der er 5 kommentarer og
1 løsning

Funktion der fucker

Jeg har følgende funktion:

<%
ID = Request(\"catID\")
    Function makeCatPath(id)
      If id = \"\" then
        Response.End
      end if

        Set rs = Server.CreateObject(\"ADODB.Recordset\")
        SQL = \"SELECT * FROM kat WHERE id = \" & id
        RS.open SQL, \"dsn=musikerportal;\"

        If Not rs.EOF Then
            If LCase(rs(\"topcat\")) <> \"p\" Then
                writeString = makeCatPath(CInt(rs(\"topcat\"))) & \" - <B><A HREF=\"\"kategori.asp?catID=\" & rs(\"id\") & \"\"\">\" & rs(\"tekst\") & \"</A></B>\"
            Else
                writeString = \"<B><A HREF=\"\"default.asp\"\">Forsiden</A></B> - <B><A HREF=\"\"kategori.asp?catID=\" & rs(\"id\") & \"\"\">\" & rs(\"tekst\") & \"</A></B>\"
            End If
        End If

        rs.close
        set rs=nothing

        makeCatPath = writeString
    End Function
%>

Det virker bare kun periodisk...

Funktionen skulle gerne vise en oversigt over hvor i menuen brugeren befinder sig.

Hovdekategori - underkategori - underkategori osv.

Indtil nu har jeg kun fået det til at lykkes med hovdekategori, lige så snart jeg vælger en under kategori får jeg en

Provider fejl \'80004005\'

Uspecificeret fejl

test2.asp, linje 18


Til tider når jeg slet ikke så langt.

Jeg glæder mig til at høre Jeres bud på hvad der kunne være galt...

Ares

Avatar billede tdaugaard Nybegynder
21. februar 2001 - 23:53 #1
Prøv at erstatte

If Not rs.EOF Then

med

If Not rs.BOF Then

just a shot in the dark!
           
Avatar billede ares Nybegynder
22. februar 2001 - 01:26 #2
nope det er det samme det virker fint første gang men lige så snart jeg vælger en anden - så går der ged i det...
Avatar billede tdaugaard Nybegynder
22. februar 2001 - 01:39 #3
Hvis flg. ikke virker så aner jeg sku\'t hvad der er galt..

<%
    Function makeCatPath(id)
        If id = \"\"  Or Not IsNumeric(id) Then Exit Function

        Set rs = Server.CreateObject(\"ADODB.Recordset\")
        SQL = \"SELECT * FROM kat WHERE id = \" & id
        RS.open SQL, \"dsn=musikerportal;\"

        If Not rs.BOF Then
            Select Case (LCase(rs(\"topcat\")) <> \"p\")
                Case True:  writeString = makeCatPath(CInt(rs(\"topcat\"))) & \" - <B><A HREF=\'kategori.asp?catID=\" & rs(\"id\") & \"\'>\" & rs(\"tekst\") & \"</A></B>\"
                Case False: writeString = \"<B><A HREF=\'default.asp\'>Forsiden</A></B> - <B><A HREF=\'kategori.asp?catID=\" & rs(\"id\") & \"\'>\" & rs(\"tekst\") & \"</A></B>\"
            End Select
        End If

        rs.close
        set rs=nothing

        makeCatPath = writeString
    End Function
%>
Avatar billede ares Nybegynder
22. februar 2001 - 11:53 #4
Tdaugaard >> det er det samme den kan hente siden engang hvis det er en hovdekategori - altså hvis p er sand. Men hvis man opdatere eller vælger en under menu så får jeg

Provider fejl \'80004005\'

Uspecificeret fejl

Jeg har chekket Microsofts selfsupport sidder og fundet at 80004005 er en database fejl. De skriver at det kan skyldes at databasen ikke ligger på samme drev som Serveren. Eller at man ikke lukker sin Database(DB) forbindelse ordentlig.

Jeg har prøvet at flyttet DB - men det hjalp ikke. Jeg skulle mene at forbindelsen til DB bliver lukket korrekt.

Ares
Avatar billede soerens Nybegynder
23. februar 2001 - 11:14 #5
A shot in the dark:

Prøv at gå over til en DSNless forbindelse til din database, den performer også langt bedre.

Læs lidt om hvordan du gør på denne side:
http://www.activeserverpages.dk/aspdigital/kapitel2/dsnless.asp

/SørenS.
Avatar billede ares Nybegynder
26. februar 2001 - 20:47 #6
Tak soerens - det var lige det der skulle til...
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