Ja, det är bättre att bara öppna en eftersom man behöver göra mindre då
Så skriv om dina subbar så att de tar emot connectionen som argument (använder du globala variabler kommer jag och stryper dig med taggtråd ).
Sub InsertPost(SQLStmt)
Set Connection = Server.CreateObject("ADOdb.connection")
With Connection
.Open "DSN"
.Execute SQLStmt,,128
.Close()
End With
Set Connection = Nothing
End Sub
Ska jag istället dela upp det i två?
Sub InsertPost(SQLStmt)
Set Connection = Server.CreateObject("ADOdb.connection")
With Connection
.Open "DSN"
.Execute SQLStmt,,128
End With
End Sub
Sub CloseDB()
Connection.Close()
Set Connection = Nothing
End Sub
Function GetDBConn
Dim objConn
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "DSN"
Set GetDBConn = objConn
End Function
När du vill skapa ett connection object:
Dim objDB
Set objDB = GetDBConn
Om du behöver använda en connection inne i en sub/function:
Function RunSQLGetRows(ByVal Connection, ByVal SQLQuery)
Dim objRS
Set objRS = Connection.Execute(SQLQuery)
IF Not objRS.EOF Then
'## -- return result --
RunSQLGetRows = objRS
End If
Set objRS = Nothing
End Function
[r]
Används så här:
Dim objDB, arrRecords, strSQL
strSQL = "SELECT * FROM TBL_TABLE"
Set objDB = GetDBConn
arrRecords = RunSQLGetRows(objDB, strSQL)
objDB.Close
Set objDB = Nothing
'## -- loopa igenom arrayen och visa resultatet --
Passar på att klistra in mitt senaste alster från Cafe webforum som jag tycker talar sitt tydliga språk.
Håll till godo:
En hundintresserad man från Sala
hör till wF:s trogna hjälpar-skara
för eminenta lösningar på problem
borde han få ett stort guld emblem
i statestiken lär han knappast dala
Till er som tycker detta svar är *trams*, tryck bakåt i webläsaren
Mvh Jörgen
253 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91