Execute-Methode (ADO-Befehl)
Führt die abfrage, SQL-Anweisung oder gespeicherte Prozedur aus, die in der CommandText- oder CommandStream- eigenschaft des Command-Objektsangegeben ist.
Syntax
Set recordset = command.Execute( RecordsAffected, Parameters, Options )
Rückgabewert
Gibt einen Recordset Objektverweis, einen Datenstrom oder Nothingzurück.
Parameter
RecordsAffected
Wahlfrei. Eine Long Variable, an die der Anbieter die Anzahl der Datensätze zurückgibt, die der Vorgang betroffen hat. Der parameter RecordsAffected gilt nur für Aktionsabfragen oder gespeicherte Prozeduren.
RecordsAffected gibt nicht die Anzahl der Datensätze zurück, die von einer Ergebnisrückgabeabfrage oder gespeicherten Prozedur zurückgegeben werden. Verwenden Sie zum Abrufen dieser Informationen die RecordCount-Eigenschaft. Die Execute-Methode gibt nicht die richtigen Informationen zurück, wenn sie mit adAsyncExecuteverwendet werden, einfach weil die Anzahl der betroffenen Datensätze beim asynchronen Ausführen eines Befehls beim Zurückgeben der Methode möglicherweise noch nicht bekannt ist.
Parameter
Wahlfrei. Ein Variant- Array von Parameterwerten, das in Verbindung mit der Eingabezeichenfolge oder dem in CommandText- oder CommandStream-angegebenen Eingabezeichenfolge verwendet wird. (Ausgabeparameter geben beim Übergeben in diesem Argument keine korrekten Werte zurück.)
Optionen
Wahlfrei. Ein Long-Wert, der angibt, wie der Anbieter die CommandText- oder die CommandStream- Eigenschaft des Command-Objekts auswerten soll. Dabei kann es sich um einen Bitmaskenwert handeln, der mit CommandTypeEnum-- und/oder ExecuteOptionEnum- Werten erstellt wird. Sie können z. B. adCmdText- und adExecuteNoRecords in Kombination verwenden, wenn ADO den Wert der CommandText- eigenschaft als Text auswerten soll, und angeben, dass der Befehl verwerfen und keine Datensätze zurückgeben soll, die beim Ausführen des Befehlstexts generiert werden können.
Anmerkung
Verwenden Sie den ExecuteOptionEnum Wert adExecuteNoRecords, um die Leistung zu verbessern, indem Sie die interne Verarbeitung minimieren. Wenn adExecuteStream- angegeben wurde, werden die Optionen adAsyncFetch und adAsynchFetchNonBlocking- ignoriert. Verwenden Sie nicht die CommandTypeEnum- Werte von adCmdFile- oder adCmdTableDirect- mit Execute. Diese Werte können nur als Optionen mit dem Open und Requery Methoden eines Recordset-verwendet werden.
Bemerkungen
Die Verwendung der Execute-Methode für ein Command-Objekt führt die abfrage aus, die in der CommandText- Eigenschaft oder CommandStream- eigenschaft des Objekts angegeben ist.
Ergebnisse werden in einem Recordset- (standardmäßig) oder als Datenstrom mit binären Informationen zurückgegeben. Um einen binären Datenstrom zu erhalten, geben Sie adExecuteStream- in Optionsan, und geben Sie dann einen Datenstrom an, indem Sie Command.Properties("Output Stream")festlegen. Ein ADO-Stream--Objekt kann angegeben werden, um die Ergebnisse zu empfangen, oder ein anderes Datenstromobjekt, z. B. das IIS Response-Objekt, kann angegeben werden. Wenn vor dem Aufrufen Execute mit adExecuteStream-kein Datenstrom angegeben wurde, tritt ein Fehler auf. Die Position des Datenstroms, der von Execute zurückgegeben wird, ist anbieterspezifisch.
Wenn der Befehl keine Ergebnisse zurückgibt (z. B. eine SQL UPDATE-Abfrage), gibt der Anbieter Nothing zurück, solange die Option adExecuteNoRecords angegeben wird; andernfalls gibt Execute ein geschlossenes Recordset-zurück. In einigen Anwendungssprachen können Sie diesen Rückgabewert ignorieren, wenn kein Recordset- erwünscht ist.
Execute löst einen Fehler aus, wenn der Benutzer einen Wert für CommandStream- angibt, wenn die CommandType-adCmdStoredProc, adCmdTable-oder adCmdTableDirectist.
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 aufruf Execute ü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 Parameter weglassen. Die Reihenfolge, in der Sie die Parameter angeben, ist die gleiche Reihenfolge, in der die Methode sie übergibt. Wenn beispielsweise vier (oder mehr) Parameter vorhanden waren und Sie neue Werte nur für die ersten und vierten Parameter übergeben möchten, würden Sie Array(var1,,,var4)
als argument Parameters übergeben.
Anmerkung
Ausgabeparameter geben keine korrekten Werte zurück, wenn sie im argument Parameters übergeben werden.
Ein ExecuteComplete--Ereignis wird ausgegeben, wenn dieser Vorgang beendet wird.
Anmerkung
Wenn Befehle mit URLs ausgestellt werden, ruft diese, die das HTTP-Schema verwenden, automatisch den Microsoft OLE DB-Anbieter für Internet Publishingauf. Weitere Informationen finden Sie unter absoluten und relativen URLs.
Gilt für
Siehe auch
Execute-, Requery- und Clear-Methoden (Vb-Beispiel)
Execute-, Requery- und Clear-Methoden (Beispiel) (VBScript)
Execute-, Requery- und Clear-Methoden (Beispiel) (VC++)
CommandStream-Eigenschaft (ADO)
CommandText-Eigenschaft (ADO)
CommandTypeEnum-
Execute-Methode (ADO-Verbindung)
ExecuteComplete-Ereignis (ADO)