Theorievraag over ADODB

Status
Niet open voor verdere reacties.

so10070

Gebruiker
Lid geworden
4 feb 2014
Berichten
419
Moet je het object eerst sluiten via rst.Close vooraleer het geheugen vrij te maken via Set rst = Nothing?
 
Als je zeker weet dat er geen verdere verwijzing naar dat object is dan is het wel netjes dat te doen.
 
Ed heeft super gelijk: proper programmeren zorgt ervoor dat de code in alle omstandigheden goed uitgevoerd wordt en gemakkelijk te onderhouden is. Ik zet trouwens de set object = nothing altijd in het exit stuk van de error handling dan wordt deze steeds uitgevoerd, fout of niet. Dan kan het natuurlijk dat je een recordset vernietigt zonder die te sluiten, but what the heck, error = emergency situation.

voorbeeld
Code:
public sub sExample
On error go to Err_sExample

…. code ….

Exit_sExample:
     set obj1 = nothing
    …. kuis andere rommel op
     exit sub

Err_sExample:
    sErrorHandling(err.number)
   resume Exit_sExample
 
Nee, dat hoeft, in tegenstelling tot wat hierboven staat, allemaal niet. Zodra een procedure is afgerond, worden alle objecten automatisch uit het geheugen verwijderd.
Codes als: obj = Nothing aan het eind van een procedure doen dus helemaal niks. Een recordset moet je daarentegen wel afsluiten met rust.Close.
 
Technisch gezien hoef je inderdaad niet proper en gestructureerd te werken, maar ik raad het wel aan. Het maakt je code meer overzichtelijk en beter onderhoudbaar.
 
Netjes werken mag altijd natuurlijk; onzinnige of overbodige handelingen uitvoeren lijkt mij vrij nutteloos.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan