webForumDet fria alternativet

Stänga recordsets

ASP

7 svar · 208 visningar · startad av Stuck

Medlem sedan juli 200072 inlägg
Frågan#1

Ifall jag har en line typ ..

Set objRs = objConn.Execute(SQL)

Och sen loopar jag den lite .. måste jag köra ett objRs.Close på den .. eller räcker det med att köra objConn.Close .. Hmm ..

Medlem sedan dec. 19998 577 inlägg
#2

Nepp, du skall inte använda close på den, det är ett vanligt ResultSet och den har ju ingen koppling som är öppen... ObjConn däremot är ju ett objekt som har öppnats mot en databas, då den skall du stänga så fort du inte skall använda den mer... :)

Red: Däremot skall du sätta "Set objRs = Nothing" så att du sätter objektet till ingenting...

Mvh, Vide

------------------
Jourhavande Vide

[Redigerat av Vide den 22 feb 2001]

Medlem sedan juli 2000619 inlägg
#3

Måste det vara "set objconn = nothing" eller tar den inte "objconn.close"?

Är det nån skillnad överhuvudtaget?

------------------
Ingenting är omöjligt, bara en utmaning.

Medlem sedan dec. 19996 721 inlägg
#4

"Nepp, du skall inte använda close på den, det är ett vanligt ResultSet och den har ju ingen koppling som är öppen..."

Det har den faktiskt. Recordsetet är fortfarande kopplat mot servern, så det är inte alls fel att stänga det, tvärtom.

Medlem sedan dec. 19998 577 inlägg
#5

Kom på det när jag satt och testade lite... :r

Fast jag tycker att det är lite märkligt att ett resultset har en koppling...

Men, men... alltid lär man sig något nytt... ;)

------------------
Jourhavande @e SweQuake.com

Medlem sedan dec. 19996 721 inlägg
#6

"Fast jag tycker att det är lite märkligt att ett resultset har en koppling..."

Ett recordset är en fundamental del av databashantering, och tanken är att ändringar som sker på serversidan direkt ska ses hos klientens recordset. Ett recordsets pekare (cursor) ligger alltså på serversidan, och när man kör en movenext etc. så är det servern som stegar fram.

Detta tar självklart kraft från både databasserver och webbserver, och man kan slippa detta genom att sätta cursorlocation till adUseClient. Då hanteras allt av klienten, dvs. webbservern.

Medlem sedan dec. 19998 577 inlägg
#7

Jo, med ett RecordSet förstår jag, det är ju självklart, där behövs ju en koppling... men ett ResultSet?

------------------
Jourhavande @e SweQuake.com

Medlem sedan dec. 19996 721 inlägg
#8

Det finns inget som heter ResultSet inom ADO-världen. Däremot kan man säga att sökningens resultset returneras i form av ett recordset.

265 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)