Giovanni Acerbi
a- a+

L'Oggetto Command

L'oggetto Command si usa spesso quando ènecessario apportare modifiche all'interno di undatabase, dove per modifiche si intende inserimento di dati,modifica di dati e cancellazione di dati. L'istruzioneper creare l'istanza dell'oggetto non èdiversa da quelle già viste per le Connection e iRecordset, ovvero:

Dim objCmdSet objCmd = Server.CreateObject("ADODB.Command")

Ciò di cui necessita questo oggetto è unaimpostazione delle proprietà che definiscono di qualeconnessione, di che tipo di istruzione e di che tipo dicomando si farà uso. Poi, tramite il metodo Execute,si completa l'istruzione. Vediamo un esempio:

 

<!--#include file="percorso/adovbs.inc"--><%    Dim path, objCon, objCmd, strSql, intNrOfRecords    path = "percorsoomefile.mdb"    Set objCon = Server.CreateObject("ADODB.Connection")    objCon.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath(path)    Set objCmd = Server.CreateObject("ADODB.Command")    strSql = "INSERT INTO Utenti (Nome, Cognome) VALUES ('Dante','Alighieri')"    objCmd.ActiveConnection = objCon    objCmd.CommandText = strSql    objCmd.CommandType = adCmdText    objCmd.Execute intNrOfRecords    Set objCmd = Nothing    objCon.Close    Set objCon = Nothing    Response.Write "Numero di record inseriti: " & intNrOfRecords%>

 

In questo caso è stato aggiunto un record al nostrodatabase che contiene una tabella Utenti con i campi Nome eCognome. L'operazione è stata effettuatadirettamente con un comando INSERT INTO del linguaggio SQL.Una cosa da notare è che il metodo Execute, seguitodal nome di una variabile da noi creata, è in grado didirci quanti record sono stati interessati dalla nostraoperazione. Per compiere operazioni di modifica ocancellazione, si fa sempre riferimento a comandi SQL, ovveroUPDATE e DELETE. Vediamo un paio di esempi:

 

<!--#include file="percorso/adovbs.inc"--><%    Dim path, objCon, objCmd, strSql, intNrOfRecords    path = "percorsoomefile.mdb"    Set objCon = Server.CreateObject("ADODB.Connection")    objCon.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath(path)    Set objCmd = Server.CreateObject("ADODB.Command")    strSql = "UPDATE Utenti SET Nome = 'Giovanni', Cognome = 'Pascoli' WHERE Cognome = 'Alighieri'"    objCmd.ActiveConnection = objCon    objCmd.CommandText = strSql    objCmd.CommandType = adCmdText    objCmd.Execute intNrOfRecords    Set objCmd = Nothing    objCon.Close    Set objCon = Nothing    Response.Write "Numero di record modificati: " & intNrOfRecords%>

 

 

 

<!--#include file="percorso/adovbs.inc"--><%    Dim path, objCon, objCmd, strSql, intNrOfRecords    path = "percorsoomefile.mdb"    Set objCon = Server.CreateObject("ADODB.Connection")    objCon.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath(path)    Set objCmd = Server.CreateObject("ADODB.Command")    strSql = "DELETE FROM Utenti WHERE Cognome = 'Pascoli'"    objCmd.ActiveConnection = objCon    objCmd.CommandText = strSql    objCmd.CommandType = adCmdText    objCmd.Execute intNrOfRecords    Set objCmd = Nothing    objCon.Close    Set objCon = Nothing    Response.Write "Numero di record cancellati: " & intNrOfRecords%>

 

Nel primo caso abbiamo modificato il o i record nel cui campocognome era presente Alighieri e abbiamo sostituito conGiovanni Pascoli, nel secondo caso invece abbiamo cancellatoil o i record nel cui campo cognome era presente Pascoli.

Per concludere si può dire che anche l'oggettoCommand è in grado di restituire dei recordset, oltreche apportare modifiche, così come l'oggettoRecordset può permettere di apportare modifiche ad undatabase, dipende da come un programmatore si abitua alavorare. Per un elenco completo di esempi e caratteristichedi tutto il linguaggio, sarebbe comunque meglio fareriferimento a documentazione ufficiale Microsoft o ad un buonmanuale.



Ti potrebbe interessare anche

commenta la notizia