Il Modello ad Oggetti di ADO - Command |
Home Page | Commenti | Articoli | Faq | Documenti | Ricerca | Archivio | Storie dalla Sala Macchine | Contribuire | Imposta lingua:en it | Login/Register
L'oggetto Command consente l'invio di comandi al database, i comandi possono essere query, ma non sono limitati a questo. Possono essere preparazione di query ed associazioni di parametri con stringhe di query. Il linguaggio attuale di comando che e' supportato e' strettamente dipendente dal driver in uso, la maggioranza dei database relazionali che sono supportati utilizzano una qualche variante dello standard SQL92. L'oggetto Command puo' sia accedere ad una nuova connessione o utilizzare una connessione esistente per eseguire le proprie operazioni, dipende da cosa viene specificato nella proprieta' ActiveConnection. Se tale proprieta' e' impostata su una connesione esistente, tale connessione verra' utilizzata, se tale proprieta' viene impostata su una stringa di connessione, verra' usata tale stringa per attivare una nuova connessione. L'esecuzione di stringhe di query puo' generare uno o piu' RecordSet come risposta, oppure puo' non ritornare nessun RecordSet. Una query puo' essere specificata impostando la proprieta' CommandText. Una query in genere puo' essere una istruzione SQL standard di manipolazione del database o il richiamo di una Stored Procedure. Il tipo di query viene specificato impostando la proprieta' CommandType con una delle apposite costanti. Quando il comando e' un comando SQL, deve essere utilizzata adCmdText. Se viene usata adCmdStoredProc, l'oggetto Command esegue la query mediante la sequenza ODBC {call procedure=name}.
Se si specifica adCmdTable, la query si suppone che sia il
nome di una tabella, in questo caso la query viene convertita in
SELECT * FROM Specificando adCmdUnknown, l'oggetto Command cerchera' di stabilire il tipo di query inviato, questo potrebbe portare ad un degrado delle prestazioni. E' possibile utilizzare la proprieta' Prepared, per effettuare la "preparazione" delle query prima della vera e propria esecuzione. In questo modo prima della esecuzione viene preparato il Piano di Query, questo migliora sensibilmente le prestazini della query se la stessa deve essere eseguita piu' volte. La proprieta' Prepared diviene utile anche quando si deve eseguire ripetutamente una query con parametri, modificando i valori dei parametri ogni volta. L'oggetto Parameter puo' essere creato attraverso il metodo CreateParameter. Questo esempio esegue una semplice SELECT che ritorna un recordset: Dim Cmd As New ADODB.Command Dim rs As New ADODB.Recordset ' Use a connection string or a Connection object. Cmd.ActiveConnection = "DSN=pubs;UID=sa" Cmd.CommandText = "select * from titles" Cmd.CommandTimeout = 15 Cmd.CommandType = adCmdText Set rs = Cmd.Execute() rs.Close Questo esempio esegue una stored procedure che non ritorna un RecordSet. Dim Cmd As New ADODB.Command ' Use a connection string or a Connection object. Cmd.ActiveConnection = "DSN=pubs;UID=sa" Cmd.CommandText = "myADOProc" Cmd.CommandTimeout = 15 Cmd.CommandType = adCmdStoredProc Cmd.Execute Il nome della Stored Procedure e' "myAdoProc" ed e' inserito nella proprieta' CommandText.
|
I commenti sono aggiunti quando e soprattutto se ho il tempo di guardarli e dopo aver eliminato le cagate, spam, tentativi di phishing et similia. Quindi non trattenete il respiro.
Davide Bianchi, lavora come Unix/Linux System Administrator presso una societa' di Hosting in Olanda.
Il presente sito e' frutto del sudore della mia fronte (e delle mie dita), se siete interessati a ripubblicare uno degli articoli, documenti o qualunque altra cosa presente in questo sito per cortesia datemene comunicazione (o all'autore dell'articolo se non sono io), cosi' il giorno che faccio delle aggiunte potro' avvisarvi e magari mandarvi il testo aggiornato.
Questo sito era composto con VIM, ora e' composto con VIM ed il famosissimo CMS FdT.
Questo sito non e' ottimizzato per la visione con nessun browser particolare, ne' richiede l'uso di font particolari o risoluzioni speciali. Siete liberi di vederlo come vi pare e piace, o come disse qualcuno: "Finalmente uno dei POCHI siti che ancora funzionano con IE5 dentro Windows 3.1".