Avatar billede ashansen Nybegynder
16. oktober 2005 - 16:55 Der er 12 kommentarer og
1 løsning

Global DB connection

Hej

JEg søger hjælp til at lave en global database connection, således jeg kun behøver mine db connections defineret et sted, hvor jeg kan kalde dem fra.

Jeg har prøvet at oprettet en fil, som indeholder to funktioner, OpenDB og CloseDB, hvorfra jeg kan kalde dem med Call OpenDB og Call CloseDB - når filen selvfølgelig er included.

Men det virker ikke.
Har jeg grebet det forkert an?

Mvh

Allan
Avatar billede softspot Forsker
16. oktober 2005 - 16:59 #1
Hvad har du helt konkret gjort? Kan du vise noget af det kode som ikke fungerer?
Avatar billede softspot Forsker
16. oktober 2005 - 17:00 #2
...og gerne den kode du har i din include med OpenDB og CloseDB.
Avatar billede ashansen Nybegynder
16. oktober 2005 - 17:01 #3
'Forbindelse til databasen
Function OpenDB()
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={MySQL}Server=localhost;Database=xxx;UID=xxx;Pwd=xxx;"
End function

'Lukker databasen
Function CloseDB()
    Conn.Close
    Set Conn = Nothing
End function

dette ligger i filen db.asp

dette indcluder jeg så med <!-- #include file="db.asp" -->

og kalder med Call OpenDB osv
Avatar billede ashansen Nybegynder
16. oktober 2005 - 17:14 #4
måske noget med global.asa, og i så fald hvordan?
Avatar billede softspot Forsker
16. oktober 2005 - 17:17 #5
Hvor er Conn erklæret?
Avatar billede softspot Forsker
16. oktober 2005 - 17:30 #6
Jeg vil umiddelbart anbefale at du udformer dine funktioner således:

'Forbindelse til databasen
Function OpenDB()
  Dim Conn
  Set Conn = Server.CreateObject("ADODB.Connection")
  Conn.Open "DRIVER={MySQL}Server=localhost;Database=xxx;UID=xxx;Pwd=xxx;"
  Set OpenDB = Conn
End function

'Lukker databasen
Function CloseDB(Conn)
    Conn.Close
    Set Conn = Nothing
End function

og kalder funktionerne således:

<!-- #include file="db.asp" -->

<%
dim objConn
set objConn = OpenDB()

' Do your thing...!

CloseDB objConn
%>
Avatar billede softspot Forsker
16. oktober 2005 - 17:43 #7
Well, faktisk giver det ikke meget mening at sætte Conn = nothing inde i funktionen CloseDB, så den kan du godt fjerne. Det vigtigste er at forbindelsen bliver lukket - variablen skal nok forsvinde igen... (tror jeg nok - det er lidt svært at vide med VBScript).
Avatar billede ashansen Nybegynder
16. oktober 2005 - 17:49 #8
jeg får følgende med fejl med dit kodeeksempel

Error Type:
Sun ONE ASP VBScript runtime (0x800A01A8)
Object required: 'Conn'
cv.asp, line 25


linie 25 i cv.asp er

Set profil = Conn.Execute("SELECT beskrivelse FROM ashansen_cv WHERE type='profil'")
Avatar billede softspot Forsker
16. oktober 2005 - 17:52 #9
Bemærk at jeg kalde connection-variablen objConn og ikke Conn (hvis altså du brugte min kode råt :))...
Avatar billede softspot Forsker
16. oktober 2005 - 17:52 #10
kalde = kaldte
Avatar billede ashansen Nybegynder
16. oktober 2005 - 18:25 #11
Det er jo perfekt

Tusinde tak for hjælpen
Du skal have point
Avatar billede softspot Forsker
16. oktober 2005 - 18:33 #12
Ja tak, og velbekomme :)
Avatar billede softspot Forsker
16. oktober 2005 - 18:56 #13
Tak for point :)
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

IT-JOB