Condividi tramite


Oggetto Command (ADO)

Definisce un comando specifico che si intende eseguire su un'origine dati.

Osservazioni:

Utilizzare un oggetto Command per eseguire query su un database e restituire record in un oggetto Recordset , per eseguire un'operazione bulk o per modificare la struttura di un database. A seconda della funzionalità del provider, alcune raccolte, metodi o proprietà command possono generare un errore quando vi viene fatto riferimento.

Con le raccolte, i metodi e le proprietà di un oggetto Command , è possibile eseguire le operazioni seguenti:

  • Definire il testo eseguibile del comando , ad esempio un'istruzione SQL, con la proprietà CommandText . In alternativa, per le strutture di comando o di query diverse da stringhe semplici (ad esempio, query di modelli XML) definire il comando con la proprietà CommandStream .

  • Facoltativamente, indicare il dialetto del comando usato in CommandText o CommandStream con la proprietà Dialect .

  • Definire query con parametri o argomenti stored procedure con gli oggetti Parameter e l'insieme Parameters .

  • Indicare se i nomi dei parametri devono essere passati al provider con la proprietà NamedParameters .

  • Eseguire un comando e restituire un oggetto Recordset , se appropriato con il metodo Execute .

  • Specificare il tipo di comando con la proprietà CommandType prima dell'esecuzione per ottimizzare le prestazioni.

  • Controllare se il provider salva una versione preparata (o compilata) del comando prima dell'esecuzione con la proprietà Prepared .

  • Impostare il numero di secondi in cui un provider attenderà l'esecuzione di un comando con la proprietà CommandTimeout .

  • Associare una connessione aperta a un oggetto Command impostando la relativa proprietà ActiveConnection.

  • Impostare la proprietà Name dell'oggetto Command per identificarlo come metodo sull'oggetto Connection associato.

  • Passare un oggetto Command alla proprietà Source di un oggetto Recordset per ottenere dati.

  • Accedere agli attributi specifici del provider con l'insieme Properties .

Annotazioni

Per eseguire una query senza utilizzare un oggetto Command , passare una stringa di query al metodo Execute di un oggetto Connection o al metodo Open di un oggetto Recordset . Tuttavia, è necessario un oggetto Command quando si desidera rendere persistente il testo del comando e eseguirlo di nuovo oppure usare i parametri di query.

Per creare un oggetto Command indipendentemente da un oggetto Connection definito in precedenza, impostare la relativa proprietà ActiveConnection su una stringa di connessione valida. ADO crea ancora un oggetto Connection , ma non assegna tale oggetto a una variabile oggetto. Tuttavia, se si associano più oggetti Command alla stessa connessione, è necessario creare e aprire in modo esplicito un oggetto Connection ; in questo modo l'oggetto Connection viene assegnato a una variabile oggetto. Assicurarsi che l'oggetto Connection sia stato aperto correttamente prima di assegnarlo alla proprietà ActiveConnection dell'oggetto Command , perché l'assegnazione di un oggetto Connection chiuso causa un errore. Se non si imposta la proprietà ActiveConnection dell'oggetto Command su questa variabile oggetto, ADO crea un nuovo oggetto Connection per ogni oggetto Command , anche se si utilizza la stessa stringa di connessione.

Per eseguire un oggetto Command, chiamarlo in base alla relativa proprietà Name sull'oggetto Connection associato. La proprietà ActiveConnection di Command deve essere impostata sull'oggetto Connection. Se command ha parametri, passare i valori come argomenti al metodo .

Se due o più oggetti Command vengono eseguiti nella stessa connessione e uno degli oggetti Command è una stored procedure con parametri di output, si verifica un errore. Per eseguire ogni oggetto Command , utilizzare connessioni separate o disconnettere tutti gli altri oggetti Command dalla connessione.

L'insieme Parameters è il membro predefinito dell'oggetto Command . Di conseguenza, le due istruzioni di codice seguenti sono equivalenti.

objCmd.Parameters.Item(0)  
objCmd(0)  
  • L'oggetto command non è sicuro per lo scripting.

Questa sezione contiene l'argomento seguente.

Vedere anche

dell'oggetto Connection (ADO)
Parameters Collection (ADO)
Collezione Properties (ADO)
Appendice A: Fornitori