Newsgroup: it.comp.www.asp
Titolo: apertura rst

Ho un dubbio: aprendo un recordset in quetso modo:
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Source           = "tabella"
rs.ActiveConnection = DB_CON
rs.CursorType       = adOpenKeyset
rs.LockType         = 2
rs.Open
e assunto che db_con e' dichiarata cosi':
DB_CON = "Provider=Microsoft.Jet.OLEDB.4.0;"& "Data Source=" &dbpath &
";"
(dove in dbpath c'e' il path del db)
beh, la domanda e' questa: chi si occupa di chiudere la connessione
per liberare risorse??
di sicuro devo chiudere rs, la la connessione?
Grazie a tutti.
ByEz...;->

sia un oggetto Recordset che Connection dispongono di un metodo "Close"
quindi:
Rs.Close
Set Rs=Nothing
Conn.Close
Set Conn=Nothing
--
CIAO!
Gusher

Set Conn=Nothing
ok, ti ringrazio...l'unico problema e' che nel codice che ho postato
l'oggetto conn non e' ne' dichiarato ne' istanziato!!
e allora cosa chiudo oltre a rs????
Grazie.
ByEz...;->

per avere un recordset... devi per forza avere un oggetto Connection..
ora io l'ho chiamato Conn .. poi dipende come l'hai chiamato.
--
CIAO!.
Gusher

ora io l'ho chiamato Conn .. poi dipende come l'hai chiamato.
Vedi siamo arrivati al punto!
NON l'ho mai dichiarato!! era questo il motivo dei miei dubbi!
si vede che la connesione viene aperta automaticamente
nell'atto dell'apertura del rs, passando la stringa di conn come
proprieta' dell'rs, e ovviamente il codice funziona perfettamente!
Ripropongo la domanda quindi: chi la chiude la connesione
se non c'e' un oggetto dichiarato nel codice?
riposto il codice per chi lo avesse perso!
Dim DB_CONN
DB_CONN = "Provider=Microsoft.Jet.OLEDB.4.0;" 	& "Data Source=" &
dbpath & ";"
Dim rs
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Source           = "tabella"
rs.ActiveConnection = DB_CONN
rs.CursorType       = adOpenKeyset
rs.LockType         = 2
rs.Open
 - qui non apro una query sql ma faccio solo operazioni sul rs -
rs.Close
Set rs=Nothing
Grazie a tutti
ByEz...;->


Moderatore di it.comp.www.asp
http://www.aspitalia.com
 Enjoy the .NET community!
http://www.dev2dev.it
 La rete ha connesso nuove particelle!

dovrebbe chiuderlo il recordset.
Ti ringrazio molto.
il tuo "dovrebbe" mi preoccupa un po'.
Ho postato quetso codice perche' potrebbe essere il motivo dell'errore
che alcune volte mi viene fuori sul db del tipo "already in use ;"
etc. che mi blocca il db per un bel po'.
D'altronde se non ho una query di select da aprire ma voglio aprire
cmq un rst per fare update quetso mi sembrava il modo migliore;
certo potrei fare tutto con query di update, ma in quel caso dovrei
stare molto piu' attento alle esigenze dell'sql sui campi da
modificare, mentre usando rs.campo=XXX e' molto meno "esigente".
Lo so , voglio la botte piena e la moglie ubriaca! :))
Per concludere seocndo me quetso modo non chiude bene le connessioni,
quidni meglio usare la classica con.execute "UPDATE..."
Grazie a tutti
ByEz..;->

 quidni meglio usare la classica con.execute "UPDATE..."
lo diciamo tutti da 4/5 anni a questa parte :)


lo diciamo tutti da 4/5 anni a questa parte :)
ma inffatti avete ragione! :)
il problema e' che non sempre la soluzione "migliore" e' anche la piu'
veloce...e certe volte serve trovare soluzioni "meno peggio"!
ByEz...;->