Newsgroup: it.lavoro.professioni.webmaster
Titolo: [domanda] apertura e chiusura recordset

Ciao a tutti,
nonostante e' da un po' che usi ASP non sono mai riuscito a capire
chiaramente perche' se apro un recordset in questo modo:
    dim objRs
    set objRs = server.createobject("adodb.recordset")
    objRs.open "SELECT * FROM tabella", objConn, 3, 3
debba poi chiudere in questo modo:
    objRs.close
    set objRs=Nothing
mentre se faccio la query in quest'altro modo:
    Dim objRs
    Set objRs = Server.CreateObject("ADODB.Recordset")
    qry="SELECT * FROM Tabella"
    objRs.Open qry, objConn, 3, 3
l'"objRs.close" mi risponde che non posso chiudere un oggetto che non ho
aperto, mentre "set objRs=Nothing" funziona comunque?
Infine vorrei chiedere: ho letto che non chiudere la connessione al DB e'
dannoso per il server, lo e' allo stesso modo non chiudere i recordset?
E' corretta la sintassi da me riportata?
Grazie!

 E' corretta la sintassi da me riportata?
a prima vista si
--
a.cara 
Togli qualcosa dall'email

 aperto, mentre "set objRs=Nothing" funziona comunque?
Per quanto ho visto io il recordset mi viene chiuso quando effettuo query di
update o delete , il che sarebbe anche logico perchè che viene tenuto aperto
a fare..? ;)
In tal caso quindi objRs.close è inutile.
^GlobuS^

 a fare..? ;)
quando per fare la delete o la update usi il l'oggetto "recordset"? Anche questa
mi piacerebbe vederla. Nel tuo caso e' perche' "non" usi l'oggetto recordset


 mi piacerebbe vederla. Nel tuo caso e' perche' "non" usi l'oggetto
recordset
Infatti ho detto una cappellata, chissa' a cosa pensavo , sorry :/
^GlobuS^

 l'oggetto recordset
Manifesto la mia ignoranza, e vi dico infatti che il problema credo
fosse che volevo chiudere delete o update, ma ora vi chiedo, non si
lancia cosi' anche una delete???:
Dim objRs1
Set objRs1 = Server.CreateObject("ADODB.Recordset")
qry="DELETE * FROM tabella"
objRs1.Open qry, objConn, 3, 3
Ok che il concetto di recordset e' diverso, ma allora io non dovrei
neanche definire objRs1?
Per favore non mi schifate... fatemi capire?!?
Grazie!
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 lancia cosi' anche una delete???:
A quanto ho visto si , era quello che volevo dire nel post precedente. Certo
che non dovrebbe ritornare un recordset...ma allora come mai funge?
^GlobuS^


e dalli!
puoi fare 2 cose 
1) conn.execute .........bla bla bla. 
In genere questa si usa per operazioni di aggiornamento (update,delete) e passi
direttamente la stringa sql senza creare l'oggetto recordset
2) fai una select per la gestione e definisci il recordset, ti posizioni su un
qualsiasi record e fai rs.delete oppure rs.update oppure dopo una rs.addnew
scrivi gli attributi e fai una rs.update. In questo caso stai usando l'oggetto
recordset e lo "devi" chiudere per evitare che il gestore del server ti faccia
la caccia sull'intero orbeterracqueo per spararti a pallettoni
3) un qualsiasi tutorial (o Help) ADO spiega "abbastanza" chiaramente tutte le
possibilita' di, appunto, una connessione ADO.
normalmente se devi fare delle insert di massa la 2 "potrebbe" avere migliori
prestazioni


 recordset?
tutto quello che sale prima o poi scende... e tutto quello che si apre si
deve chiudere... altrimenti rimani degli oggetti *appesi* nel server... il
che non e' una cosa buona... sai i server sono dei computer e hanno risorse
finite... :)
-- 
Lino Mari [mod - it.economia.e-commerce]
http://www.ebow.it
 - e-business on web!
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - d2D004
Gli iperlink sovvertono la gerarchia.