Dipende ...
Il comportamento piu' corretto e' quello che tende a mantenere il meno possibile attiva una connessione.
Quindi,
1) apri la connessione
2) leggi i dati
3) li rendi disponibili
4) chiudi la connessione
ovvero
1) apri la connessione
2) inserisci/modifichi i dati
3) chiudi la connessione
Naturalmente questa e' una regola che vale maggiormente se il database e' in rete e ancora di piu' se e' Access.
Se il db e' locale o e' un DBMS, potresti mantenere aperta la connessione (aprirla al Load e chiuderla all'Unload) senza gravare troppo sul server o senza avere problemi di corruzione dei dati.
Per quanto riguarda i recordset, dovresti lavorare piu' che puoi con quelli "lato client" e con il "lock ottimistico" (magari con il row versioning) e, in ogni caso, aprirli e chiuderli quando non ti necessitano piu'.
In piu', evita di gestire un gran numero di record nello stesso recordset ma utilizza la WHERE ovunque puoi per snellire il traffico di rete e limitare l'occupazione di memoria.

Rispondi quotando