Cuore Batti Cuore - Loris Reinhard - Radio Genius - Alex Damiani e-Thomas.net Network:
 
Il tuo IP: 38.103.63.60
 

Altro
Scarica

 

Sei in: Per i Webmaster - Corso di ASP - Oggetto Command

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

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

Ciò di cui necessita questo oggetto è una impostazione delle proprietà che definiscono di quale connessione, di che tipo di istruzione e di che tipo di comando 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 = "percorso\nomefile.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 nostro database che contiene una tabella Utenti con i campi Nome e Cognome. L'operazione è stata effettuata direttamente con un comando INSERT INTO del linguaggio SQL. Una cosa da notare è che il metodo Execute, seguito dal nome di una variabile da noi creata, è in grado di dirci quanti record sono stati interessati dalla nostra operazione. Per compiere operazioni di modifica o cancellazione, si fa sempre riferimento a comandi SQL, ovvero UPDATE e DELETE. Vediamo un paio di esempi:

<!--#include file="percorso/adovbs.inc"-->
<%
    Dim path, objCon, objCmd, strSql, intNrOfRecords
    path = "percorso\nomefile.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 = "percorso\nomefile.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 campo cognome era presente Alighieri e abbiamo sostituito con Giovanni Pascoli, nel secondo caso invece abbiamo cancellato il o i record nel cui campo cognome era presente Pascoli.

Per concludere si può dire che anche l'oggetto Command è in grado di restituire dei recordset, oltre che apportare modifiche, così come l'oggetto Recordset può permettere di apportare modifiche ad un database, dipende da come un programmatore si abitua a lavorare. Per un elenco completo di esempi e caratteristiche di tutto il linguaggio, sarebbe comunque meglio fare riferimento a documentazione ufficiale Microsoft o ad un buon manuale.

Contattaci. Stampa questa pagina. Contattaci via SMS. e-Thomas.net © 2009 Tutti i diritti riservati
 

F.A.Q. - Chi Siamo - Sitemap - Aspetti legali - Privacy - Le nostre fonti - RSS

Utenti connessi: 3 - Visite: 436.615 dal 10/02/2004 - Visite medie giornaliere: 244