ADODB.connection e ADODB.recordset: differenze e utilità.

|Midi|

Nuovo Utente
14 Feb 2008
4
0
0
Salve a tutti.
C'è qualcuno che può risolvere questo mio dilemma? Le ricerche sono state infruttuose...
Nella mia pagina asp voglio efettuare delle operazioni su un db. Ok nessun problema, creo gli oggetti ADODB.Connection e ADODB.Recordset (tralascio cursorType, cursorLocation e lockType) imposto la query e faccio fuoco:

Codice:
Set newConn=Server.CreateObject("ADODB.Connection")
newConn.Open(connectionstring)

Set newRs=Server.CreateObject("ADODB.Recordset")
sqlstring="SELECT * FROM tbl_articoli"
set newRs = newConn.Execute (sqlstring)

Ora ti scopro che posso fare la stessa identica cosa in questo modo:
Codice:
Set newRs= Server.CreateObject("ADODB.Recordset")
newRs.ActiveConnection = connectionstring
newRs.Source = "SELECT * FROM tbl_articoli"
newRs.Open()
ovvero non è stato creato l'oggetto ADODB.connection ma uso la porprietà ActiveConnection e sparò la query tramite source e open.

Qualcuno può spiegarmi la differenza tra i due metodi utilizzati e perché i metodi BeginTrans CommitTrans e RollbackTrans sono possibili solo nel primo caso?
Saluti.
 

lukeonweb

Utente Attivo
5 Mar 2003
5.175
13
38
45
Napoli
www.lucaruggiero.it
Effettuare query direttamente avvalendosi della Connection (e di sue proprietà e metodi) è più dispendioso che per il server relativamente all'utilizzo del Recordset.

E' questa la domanda? 0:)
 

|Midi|

Nuovo Utente
14 Feb 2008
4
0
0
Si e no,
il problema è che con ADO ci litigo da troppo tempo...:boxing: inoltre è possibile fare la stessa cosa in cento modi diversi, il mio problema è capire quale è il modo migliore.
Comunque in merito al mio quesito penso di avere capito, forse. Riporto per completezza cio che ho trovato su w3schools.com:

Connection Object
The ADO Connection Object is used to create an open connection to a data source. Through this connection, you can access and manipulate a database.
If you want to access a database multiple times, you should establish a connection using the Connection object. You can also make a connection to a database by passing a connection string via a Command or Recordset object. However, this type of connection is only good for one specific, single query.


...ovvero cio che ho fatto nel secondo esempio (utilizzando le proprietà ActiveConnection e Source).
Per usare BeginTrans, CommittTrans e RollbackTrans è necessario l'oggetto Connection.
Ok. Me lo sono cantata e suonata da solo. Grazie lo stesso.
 

Discussioni simili