webForumDet fria alternativet

Öppna Connection-objekt eller inte?

ASP

3 svar · 232 visningar · startad av kristoffer

Medlem sedan juni 20001 257 inlägg
Frågan#1

Det verkar som

Set objRS = Server.CreateObject("ADOdb.Recordset")
Set objConn = Server.CreateObject("ADOdb.Connection")
objConn.Open strConn
objRS.Open strSQL, strConn, 0, 1, &H0001

kan ersättas med

Set objRS = Server.CreateObject("ADOdb.Recordset")
objRS.Open strSQL, strConn, 0, 1, &H0001

Vilket alternativ är rätt och att föredra?

------------------
http://www.tavlingar.se

Medlem sedan dec. 200012 464 inlägg
#2

Om du använder den senare metoden så skapas det ett connectionobjekt implicit av ADO. Så om du bara gör en databasoperation så spelar det ingen roll men om du har flera så är det effektivare att själv skapa objektet och öppna det en gång.

------------------
essentitia preter non sans multiplicandum

Medlem sedan dec. 19996 522 inlägg
#3

larsG kan du förklara det där lite närmare, exempel förklara så att säga ;)

------------------
1 Man, 1 Million dead, The odds are just about even - Ash

Medlem sedan dec. 19996 721 inlägg
#4

Om du bara gör en sökning så spelar det ingen roll vilket sätt du använder. Skillnaden är bara att i det ena fallet skapar ASP-koden connection-objektet, i det andra skapas det av ADO själv.

Ska du göra flera sökningar ska du använda det första sättet, eftersom kopplingen då kommer att återanvändas. Annars skapas en ny koppling, varje gång. I princip....

253 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)