Condividi tramite


Metodo Execute (Command - ADO)

Esegue la query, l'istruzione SQL o la stored procedure specificata nella proprietà CommandText o CommandStream dell'oggetto Command.

Sintassi

  
Set recordset = command.Execute( RecordsAffected, Parameters, Options )  

Valore restituito

Restituisce un riferimento all'oggetto Recordset, un flusso o niente.

Parametri

RecordsAffected
Facoltativo. Una variabile Long a cui il provider restituisce il numero di record interessati dall'operazione. Il parametro RecordsAffected si applica solo alle query di azione o alle stored procedure. RecordsAffected non restituisce il numero di record restituiti da una query o una stored procedure che restituisce risultati. Per ottenere queste informazioni, utilizzare la proprietà RecordCount. Il metodo Execute non restituisce le informazioni corrette quando viene usato con adAsyncExecute, semplicemente perché quando un comando viene eseguito in modo asincrono, il numero di record interessati potrebbe non essere ancora noto al momento della restituzione del metodo.

Parametri
Facoltativo. Una matrice Variant di valori di parametri utilizzata insieme alla stringa di input o al flusso specificato in CommandText o CommandStream. I parametri di output non restituiscono valori corretti quando vengono passati in questo argomento.

Opzioni
Facoltativo. Un valore Long che indica in che modo il provider deve valutare la proprietà CommandText o CommandStream dell'oggetto Command. Può essere un valore di maschera di bit creato usando i valori CommandTypeEnum e/o ExecuteOptionEnum. Ad esempio, è possibile usare adCmdText e adExecuteNoRecords insieme se si desidera che ADO valuti il valore della proprietà CommandText come testo e indicare che il comando deve rimuovere e non restituire i record che potrebbero essere generati quando viene eseguito il testo del comando.

Nota

Usare il valore di ExecuteOptionEnum adExecuteNoRecords per migliorare le prestazioni riducendo al minimo l'elaborazione interna. Se è stato specificato adExecuteStream, le opzioni adAsyncFetch e adAsynchFetchNonBlocking vengono ignorate. Non usare i valori CommandTypeEnum di adCmdFile o adCmdTableDirect con Execute. Questi valori possono essere usati come opzioni solo con i metodi Open e Requery di un Recordset.

Osservazioni:

L'utilizzo del metodo Execute su un oggetto Command esegue la query specificata nella proprietà CommandText o nella proprietà CommandStream dell'oggetto.

I risultati vengono restituiti in un Recordset (per impostazione predefinita) o come flusso di informazioni binarie. Per ottenere un flusso binario, specificare adExecuteStream in Opzioni, quindi specificare un flusso impostando Command.Properties("Flusso di output"). È possibile specificare un oggetto Stream ADO per ricevere i risultati oppure specificare un altro oggetto flusso, ad esempio l'oggetto IIS Response. Se non è stato specificato alcun flusso prima di chiamare Execute con adExecuteStream, si verifica un errore. La posizione del flusso restituito da Execute è specifica del provider.

Se il comando non ha lo scopo di restituire risultati, ad esempio una query SQL UPDATE, il provider restituisce Nothing purché venga specificata l'opzione adExecuteNoRecords. In caso contrario, Execute restituisce un oggetto Recordset chiuso. Alcuni linguaggi delle applicazioni consentono di ignorare questo valore restituito se non si desidera alcun Recordset.

Execute genera un errore se l'utente specifica un valore per CommandStream quando CommandType è adCmdStoredProc, adCmdTable o adCmdTableDirect.

Se la query contiene parametri, vengono usati i valori correnti per i parametri dell'oggetto Command a meno che non si esegua l'override con i valori dei parametri passati con la chiamata Execute. È possibile eseguire l'override di un subset di parametri omettendo nuovi valori per alcuni parametri quando si chiama il metodo Execute. L'ordine in cui si specificano i parametri è lo stesso ordine in cui il metodo li passa. Ad esempio, se sono presenti quattro o più parametri e si desidera passare nuovi valori solo per il primo e il quarto parametro, si deve passare Array(var1,,,var4) come argomento Parameters.

Nota

I parametri di output non restituiscono valori corretti quando vengono passati nell’argomento Parameters.

Al termine dell'operazione verrà generato un evento ExecuteComplete.

Nota

Quando si eseguono comandi contenenti URL, quelli che usano lo schema HTTP richiamano automaticamente il provider Microsoft OLE DB per Internet Publishing. Per altre informazioni, vedere URL assoluti e relativi.

Si applica a

Oggetto Command (ADO)

Vedi anche

Esempio dei metodi Execute, Requery e Clear (VB)
Esempio dei metodi Execute, Requery e Clear (VBScript)
Esempio dei metodi Execute, Requery e Clear (VC++)
Proprietà CommandStream (ADO)
Proprietà CommandText (ADO)
CommandTypeEnum
Metodo Execute (connessione ADO)
Evento ExecuteComplete (ADO)