25. september 2004 - 14:41Der er
16 kommentarer og 1 løsning
Connect og disconnect funktion til access db (include)
Hej Alle,
Jeg er ved at lave en connect og disconnet funktion såldes at jeg kun skal kalde på dem når jeg skal bruge dem (connect og disconnect)
Men jeg får flg. fejlmeddelse. Microsoft VBScript runtime error '800a01a8'
Object required: 'rs'
//Her er min kode <% Dim conn,rs
Function Connect() set conn = server.CreateObject("adodb.connection") conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\home\mindb\db\mindb.mdb;" conn.Open End Function
Function Disconnect() If conn.State <> adStateClosed Then conn.Close () Set conn = Nothing End if If rs.State = adStateOpen Then rs.Close () End if End function %>
Det er fordi at når du lukke conn så lukker den også rs. Så kommer fejlen når du spørger om rs er lukket.. for der findes på det tidspunkt ikke noget der hedder rs.
hvorfor egentlig bruge resurcer på at lukke? Den lukker jo selv når du skifter side..
okay jeg syntes bare når man suser rundt på mange sider, så siger de husk at luk forbindelse og luk dit record bagefter samt sætte det til nothing...........hvorfor mener du ikke at jeg behøver dette ???
Nå nu er jeg med......det er jo sjældent man åber en forbindelse uden at bruge et recordsæt men I get your point (thesurfer).....Kan man ikke check på om rs er brugt eller sådan noget så man er fri for at dele den op i 2
mht forbindelse uden recordset.. man bruger/behøver ikke recordset, når man skal indsætte nye data, opdatere gamle eller slette data.. da hedder det jo bare åben, insert/update/delete, luk..
Jeg ved ikke, om man kan checke, om rs bruges.. jeg har vist aldrig brugt noget ".state".. Jeg mener at jeg har prøvet på det 1 gang (checke om rs bruges)..uden held.. så fandt jeg på de 2 funktioner..
Lige et spørgsmål mere som drejer sig om min conn funktion. Kan man ikke lægge en try/catch (eller hvad det hedder i vb) rundt om den så man kan skrive nogle "pæne" fejlbeskeder hvis nu uheldet skulle være ude.??
I toppen (efter Option Explicit, som man altid skal bør bruge -> definer/dim alle variabler) kan du skrive:
On Error Resume Next
Det betyder at hvis der er fejl, skal den bare fortsætte.
Du kan så bruge:
If Err then ' hvis der er en fejlmeddelelse ("OK" er også en "fejlmeddelelse", kode 0) If Err <> 0 then ' hvis der virkeligt er en "fejl", og ikke bare en "ok"-meddelelse Response.Write "Der opstod en fejl..<br><br>" & Err.Number & " - " & Err.Description End If End If
Nu er det ikke testet.. jeg er ikke helt sikker på, om det hedder Err.Number og Err.Description.. men det mener jeg at det hedder i Visual Basic.
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.