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?
4 svar · 265 visningar · startad av Engine^
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å.
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?
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
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 ;)
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.