|
| conn.close Fra : OleHaahr@gmail.com |
Dato : 28-11-06 08:56 |
|
Hej !
Jeg har en side, der læser i en Access-database. Dette sker vi 2
filer: Access_inc.asp og liste.asp.
Access_inc.asp ser således ud:
<%
Function GetDBConnection()
Dim objConnection
Set objConnection = Server.CreateObject("ADODB.Connection")
With objConnection
.ConnectionString = "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ=c:\temp\tutorial.mdb;"
.Open
End With
Set GetDBConnection = objConnection
End Function
%>
Liste.asp ser således ud:
<% Option Explicit
Response.Expires = 0 %>
<!-- #include file="includes/access_inc.asp" -->
<html>
<title>Oles first ASP access file</title>
<body>
<%
Dim sqlstr
Dim rs
sqlstr = "Select * from personer"
Set rs = GetDBConnection().Execute(sqlstr)
Do
Response.Write rs("Fornavn") & "<br>"
rs.MoveNext
Loop While Not rs.EOF
Set rs = Nothing
%>
</body>
</html>
Spørgsmål: Skal jeg close min databaseconnection
(objConnection.close) ?
Hvis Ja, hvor skal linien så indsættes.
Håber at nogen kan svar
Mange hilsner fra Ole
| |
Jørn Andersen (28-11-2006)
| Kommentar Fra : Jørn Andersen |
Dato : 28-11-06 11:16 |
|
On 27 Nov 2006 23:56:28 -0800, OleHaahr@gmail.com wrote:
<snip>
>Set rs = GetDBConnection().Execute(sqlstr)
>Do
> Response.Write rs("Fornavn") & "<br>"
> rs.MoveNext
>Loop While Not rs.EOF
>Set rs = Nothing
>%>
></body>
></html>
>
>Spørgsmål: Skal jeg close min databaseconnection
>(objConnection.close) ?
Ja.
>Hvis Ja, hvor skal linien så indsættes.
Umiddelbart efter at du er færdig med at bruge den - fx:
Loop ...
rs.Close
Set rs = Nothing
objConnection.Close
Set objConnection = Nothing
Good luck!
--
Jørn Andersen,
Brønshøj
| |
Jens Gyldenkærne Cla~ (28-11-2006)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 28-11-06 13:12 |
|
Jørn Andersen skrev:
>> Hvis Ja, hvor skal linien så indsættes.
>
> Umiddelbart efter at du er færdig med at bruge den - fx:
>
> Loop ...
> rs.Close
> Set rs = Nothing
> objConnection.Close
> Set objConnection = Nothing
Det er bare ikke muligt når connectionobjektet som her er skjult
bag en funktion. objConnection eksisterer kun inde i funktionen.
Man kan måske henvise til rs.connection og lukke den vej, men jeg
er ikke sikker. I asp.net-sammenhæng er det muligt at definere at
en connection skal lukke sig selv når postsættet lukkes, men det er
så vidt jeg husker ikke muligt i asp?
--
Bolig søges. Andel eller leje i Emdrup, Nordvest, Nørrebro, Søborg
eller Brønshøj, max 6000 pr. måned.
Kontakt pr. mail - nospam(at)gyros.dk
Jens Gyldenkærne Clausen
| |
OleHaahr@gmail.com (28-11-2006)
| Kommentar Fra : OleHaahr@gmail.com |
Dato : 28-11-06 15:18 |
|
Jens Gyldenkærne Clausen skrev
> Det er bare ikke muligt når connectionobjektet som her er skjult
> bag en funktion. objConnection eksisterer kun inde i funktionen.
Det har jeg også fundet ud af. Så derfor har jeg nu lavet det om, så
det ikke længere er en funktion. Jeg fandt samtidig ud af, at
ADODB.command objectet er smartere end ADODB.connection objectet. Især
hvis man vil kalde queries i access.
Her er koden. Jeg hører gerne jeres kommentarer.
Access_inc.asp ser således ud:
<%
Dim strconnect
strconnect = "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ=c:\temp\tutorial.mdb;"
%>
Liste.asp ser således ud:
<% Option Explicit
Response.Expires = 0 %>
<!-- #include file="includes/access_inc.asp" -->
<html>
<title>Oles first ASP access file</title>
<body>
<%
Dim rs
Dim objCommand
Set objCommand = Server.CreateObject("ADODB.Command")
objCommand.ActiveConnection = strconnect
objCommand.CommandText = "select * from personer"
objCommand.CommandType = adCmdText
set rs = objCommand.Execute
set objCommand = Nothing
Do
Response.Write rs("Fornavn") & "<br>"
rs.MoveNext
Loop While Not rs.EOF
rs.close
Set rs = Nothing
%>
</body>
</html>
Mange hilsner fra Ole
| |
|
|