Avatar billede musicchart.dk Nybegynder
10. oktober 2002 - 23:56 Der er 12 kommentarer og
1 løsning

Hvorfor må jeg ikke lukke min DB?

Hey

Jeg har denne kode til åbning af min database:

<%   
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("../db/dbase.mdb") & "; UID=administrator; PWD=black"
Conn.Open DSN
%>


...og denne til lukning af den igen:

<%   
Conn.Close
Set Conn = Nothing
set rs = nothing
%>


...men så får jeg en fejl der lyder på:

Fejltype:
Der opstod en Microsoft VBScript-kørselsfejl (0x800A01A8)
Et objekt er obligatorisk: 'Conn'

hvor den henviser til denne linie:

Conn.Close <--


Hvordan kan det være?


//Bjarke Kleif - [KLEIFDESIGN]
Avatar billede medions Nybegynder
11. oktober 2002 - 00:20 #1
<%
set rs = nothing
Set Conn = Nothing   
Conn.Close
%>
Avatar billede whatever Nybegynder
11. oktober 2002 - 00:21 #2
Prøv at bytte om på dem:

rs.Close
Conn.Close
set rs = Nothing
Set Conn = Nothing
Avatar billede medions Nybegynder
11. oktober 2002 - 00:22 #3
Whatever> Du kan ikke close et Recordset der ikke er åbent..!

Set rs = Nothing
Conn.Close
Set Conn = Nothing

//>Rune
Avatar billede musicchart.dk Nybegynder
11. oktober 2002 - 00:24 #4
nææ... det hjælper overhovedet ikke... peger stadig på denne linie:

Conn.Close <--

det skal lige siges, at conn åben og conn close, bliver includet.
Avatar billede medions Nybegynder
11. oktober 2002 - 00:27 #5
Hmm er du sikker på du for det første ikke allerede har lukket din connection...

Og har du tjekket om den hedder Conn, og måske ikke objConn eller noget i den stil... For den siger jo netop at den ikke kan finde objektet!

//>Rune
Avatar billede musicchart.dk Nybegynder
11. oktober 2002 - 00:32 #6
nej, conn er ikke blevet lukket før jeg lukker med min includet fil, og databasen bliver åbnet som overstående, som Conn.
Avatar billede medions Nybegynder
11. oktober 2002 - 00:35 #7
Well, de 2 ting vi har gennemgået her er de eneste fejl det kan være.. Så du må kigge lidt grundigere igennem...

//>Rune
Avatar billede musicchart.dk Nybegynder
11. oktober 2002 - 00:37 #8
problemet er at det virker fint nok hvis jeg laver Conn.close om til en kommentar, dvs. at det virker selvom der står Set Conn = Nothing , så Conn må jo findes.
Avatar billede medions Nybegynder
11. oktober 2002 - 00:39 #9
Nej, for du kan jo sagtens sætte et objekt til nothing ;o)

-Den anden komando du bruger, har den betingelse at objektet Conn SKAL være åbent... Hvilket det enten ikke er, eller ikke existere!

//>Rune
Avatar billede musicchart.dk Nybegynder
11. oktober 2002 - 00:41 #10
...ok, lukker - tak for hjælpen!
Avatar billede medions Nybegynder
11. oktober 2002 - 00:42 #11
NP :o)
Thx 4 Poinz

//>Rune
Avatar billede whatever Nybegynder
11. oktober 2002 - 10:15 #12
Medions > Ok. Det havde jeg ikke set. Men så er det jo også forkert, at skrive "set rs = nothing". Det har reelt ikke nogen betydning, men det er bare unødvendig kode.
Avatar billede medions Nybegynder
11. oktober 2002 - 13:07 #13
whatever> Jov, for rs bliver defineret til at være et objekt ved at du skriver = Set rs = Conn.Execute(strSQL) -objektet rs bliver her sat til at "execute" dit recordset, ud fra den givne kolonne. Og så i det du skriver Set rs = Nothing, bliver objektet "deaktiveret"

//>Rune
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