/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
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


Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408191
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste