webForumDet fria alternativet

Är RecordSet.Close nödvändigt?

ASP

4 svar · 265 visningar · startad av Engine^

Medlem sedan dec. 20003 887 inlägg
Frågan#1

Bör man även köra Close på ett recordset fast man sätter det till Nothing. Blir det skräp kvar i minnet? Minnesläckage är inte bra.

Jag vet ju att för en connection så är det helt annorlunda, eftersom där påverkar Close hela connectionpooling-systemet, så jag tänkte att det kanske är något som påverkas för recordset också.

Medlem sedan feb. 200112 078 inlägg
#2

Jag har också funderat på det där några gånger, men jag kommer ständigt bara fram till:

Vad finns det för anledning att inte använda .close?

Medlem sedan dec. 19998 577 inlägg
#3

devguru skrev:

Closing a Recordset object does not delete it from memory. You can later use the Open method to reopen the same Recordset, with or without the same properties. If you have closed an object and you no longer need it, you can set it equal to Nothing which will remove it from memory

Medlem sedan dec. 20003 887 inlägg
#4

Sant.

Det enda jag hittar är att med Close, så frigör man de systemresurser som blivit associerade med objeketen, men objektet tas ej bort från minnet. Sätter man däremot objektet till Nothing, så elimineras objektet fullständigt från minnet.

Så, det jag kommer fram till är att om objektet inte ska användas igen kan man lika gärna skippa att anropa Close och sätta det till Nothing på en gång. Om man tjänar något på detta eller huruvida det är rätt eller fel har jag inget större hum om ;)

Medlem sedan feb. 200112 078 inlägg
#5

God programmerarvana säger vissa, andra resonerar som du, vilket inte är helt fel heller.

Personligen stänger jag numera allt jag öppnar, när jag kan, just för att jag kan.

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