Avatar billede lsolesen Nybegynder
19. juni 2002 - 07:54 Der er 3 kommentarer og
1 løsning

Funktioner?

Hvad kan der være galt med nedenstående kode? Den siger, at objektet ikke findes - men jeg har tjekket, at selve databaseforbindelsen virker, hvis jeg ikke kalder den fra en subrutine?     


function database
    set conn = Server.CreateObject("ADODB.Connection")
    conn.Open"DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("../db/nyheder.mdb")&";"
end function

function lukconnection
    conn.close
    set conn=nothing
end function

function fejlmeddelelse
    If Err.Number = 0 Then
        response.write "<p><font color=green>Nyheden er opdateret.</font><p>"
    Else
        response.write "<p><font color=red>Der var en fejl, da du opdaterede nyheden.<p>"
        response.write "<p>Error #"&Err.Number&": " &Err.Description&"</font>"
    End If
end function



        Database ' lav connection
       
    SQL= "SELECT Dato, Overskrift, id, Forfatter FROM NYHEDER order BY Dato DESC"
    Set Nyheddb = conn.Execute(SQL) 'her er fejlmeddelelsen

    Do While Not Nyheddb.EOF

        Dato=Nyheddb("Dato")
        overskrift=Nyheddb("Overskrift")
        id=Nyheddb("id")
        forfatter=Nyheddb("Forfatter")

        Response.Write("<b>"&dato&": "&overskrift&"</b> - ID: "&id&" - Forfatter: "&forfatter&" - <a href='index.asp?mode=rediger&id="&id&"'>Rediger</a> - <a href='index.asp?mode=slet&id="&id&"'>Slet</a><br>")

    nyheddb.MoveNext
   
    Loop
   
    nyheddb.close
    set nyheddb = nothing
   
    Lukconnection
Avatar billede tmceu Praktikant
19. juni 2002 - 08:02 #1
Det har noget at gøre med scope for variabler.

Flyt variablen conn udenfor funktionen, så virker det.

dim conn

function database
    set conn = Server.CreateObject("ADODB.Connection")
    conn.Open"DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("../db/nyheder.mdb")&";"
end function
Avatar billede tmceu Praktikant
19. juni 2002 - 08:03 #2
Når du ikke eksplicit erklærer din variabel udenfor proceduren, får den local el. procedure-level scope og er kun tilgængelig inde i proceduren.
Avatar billede lsolesen Nybegynder
19. juni 2002 - 08:10 #3
Ja det gør så. Tak for hjælpen!
Avatar billede tmceu Praktikant
19. juni 2002 - 08:15 #4
Det var så lidt :-)
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