Execute-Methode (ADO-Befehl)

Führt die Abfrage, SQL-Anweisung oder gespeicherte Prozedur aus, die in der CommandText- oder CommandStream-Eigenschaft des Command-Objekts angegeben ist.

Syntax

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

Rückgabewert

Gibt einen Recordset-Objektverweis, einen Datenstrom oder Nothing zurück.

Parameter

RecordsAffected
Optional. Eine Long-Variable, an die der Anbieter die Anzahl von Datensätzen zurückgibt, die vom Vorgang betroffen waren. Der RecordsAffected-Parameter gilt nur für Aktionsabfragen oder gespeicherte Prozeduren. RecordsAffected gibt nicht die Anzahl von Datensätzen zurück, die von einer Abfrage oder gespeicherten Prozedur mit Ergebnissen zurückgegeben werden. Verwenden Sie die RecordCount-Eigenschaft, um diese Informationen abzurufen. Die Execute-Methode gibt nicht die korrekten Informationen zurück, wenn sie mit adAsyncExecute verwendet wird. Dies liegt daran, dass bei der asynchronen Ausführung eines Befehls die Anzahl betroffener Datensätze bei der Rückgabe der Methode möglicherweise noch nicht bekannt ist.

Parameter
Optional. Ein Variant-Array von Parameterwerten, die in Verbindung mit der Eingabezeichenfolge oder dem Datenstrom verwendet werden, die bzw. der in CommandText oder CommandStream angegeben ist. (Ausgabeparameter geben nicht die korrekten Werte zurück, wenn sie in diesem Argument übergeben werden.)

Optionen
Optional. Ein Long-Wert, der angibt, wie der Anbieter die CommandText- oder CommandStream-Eigenschaft des Command-Objekts auswerten soll. Hierbei kann es sich um einen mit CommandTypeEnum- und/oder ExecuteOptionEnum-Werten erstellten Bitmaskenwert handeln. Sie können beispielsweise adCmdText und adExecuteNoRecords in Kombination verwenden, wenn ActiveX Data Objects (ADO) den Wert der CommandText-Eigenschaft als Text auswerten und der Befehl Datensätze, die möglicherweise beim Ausführen des Befehlstexts generiert werden, verwerfen und nicht zurückgeben soll.

Hinweis

Verwenden Sie den ExecuteOptionEnum-Wert adExecuteNoRecords, um die interne Verarbeitung zu minimieren und dadurch die Leistung zu verbessern. Wenn adExecuteStream angegeben wurde, werden die Optionen adAsyncFetch und adAsynchFetchNonBlocking ignoriert. Verwenden Sie die CommandTypeEnum-Werte adCmdFile oder adCmdTableDirect nicht mit Execute. Diese Werte können nur als Optionen mit den Open- und Requery-Methoden eines Recordsets verwendet werden.

Bemerkungen

Wenn die Execute-Methode für ein Command-Objekt verwendet wird, wird die in der CommandText- oder CommandStream-Eigenschaft des Objekts angegebene Abfrage ausgeführt.

Ergebnisse werden in einem Recordset (Standard) oder als ein Datenstrom binärer Informationen zurückgegeben. Wenn Sie einen binären Datenstrom abrufen möchten, legen Sie adExecuteStream in Options fest, und geben Sie dann einen Datenstrom an, indem Sie Command.Properties("Output Stream") festlegen. Sie können ein ADO-Stream-Objekt zum Empfangen der Ergebnisse angeben oder ein anderes Stream-Objekt wie das IIS-Response-Objekt angeben. Wenn vor dem Aufrufen von Execute mit adExecuteStream kein Datenstrom angegeben wurde, tritt ein Fehler auf. Die Position des Datenstroms bei der Rückgabe von Execute ist anbieterspezifisch.

Bei einem Befehl, der keine Ergebnisse zurückgeben soll (z. B. eine SQL-UPDATE-Abfrage), gibt der Anbieter Nothing zurück, solange die Option adExecuteNoRecords angegeben ist. Andernfalls gibt die Execute-Methode ein geschlossenes Recordset zurück. Einige Anwendungssprachen ermöglichen es Ihnen, diesen Rückgabewert zu ignorieren, wenn kein Recordset gewünscht ist.

Execute löst einen Fehler aus, wenn der Benutzer einen Wert für CommandStream angibt und der CommandType auf adCmdStoredProc, adCmdTable oder adCmdTableDirect festgelegt ist.

Wenn die Abfrage Parameter enthält, werden die aktuellen Werte für die Parameter des Command-Objekts verwendet, es sei denn, Sie überschreiben diese mit Parameterwerten, die mit dem Execute-Aufruf übergeben werden. Sie können eine Teilmenge der Parameter außer Kraft setzen, indem Sie beim Aufrufen der Execute-Methode neue Werte für einige der Parameter weglassen. Die Reihenfolge, in der Sie die Parameter angeben, entspricht der Reihenfolge, in der sie von der Methode übergeben werden. Wenn beispielsweise vier (oder mehr) Parameter vorhanden sind und Sie nur für den ersten und den vierten Parameter neue Werte übergeben möchten, übergeben Sie Array(var1,,,var4) als Parameters-Argument.

Hinweis

Ausgabeparameter geben nicht die korrekten Werte zurück, wenn sie im Parameters-Argument übergeben werden.

Ein ExecuteComplete-Ereignis wird ausgegeben, wenn dieser Vorgang abgeschlossen wird.

Hinweis

Bei der Ausgabe von Befehlen, die URLs enthalten, wird für URLs mit dem HTTP-Schema automatisch der Microsoft OLE DB-Anbieter für die Internetveröffentlichung aufgerufen. Weitere Informationen finden Sie unter Absolute und Relative URLs.

Gilt für

Command-Objekt (ADO)

Weitere Informationen

Methoden Execute, Requery und Clear – Beispiel (VB)
Methoden Execute, Requery und Clear – Beispiel (VBScript)
Methoden Execute, Requery und Clear – Beispiel (VC++)
CommandStream-Eigenschaft (ADO)
CommandText-Eigenschaft (ADO)
CommandTypeEnum
Execute-Methode (ADO-Verbindung)
ExecuteComplete-Ereignis (ADO)