Command-Objekt (ADO)
Definiert einen bestimmten Befehl, den Sie für eine Datenquelle ausführen möchten.
Bemerkungen
Verwenden Sie ein Command-Objekt, um eine Datenbank abzufragen und Datensätze in einem Recordset--Objekt zurückzugeben, um einen Massenvorgang auszuführen oder die Struktur einer Datenbank zu bearbeiten. Abhängig von der Funktionalität des Anbieters generieren einige Command Auflistungen, Methoden oder Eigenschaften möglicherweise einen Fehler, wenn auf sie verwiesen wird.
Mit den Auflistungen, Methoden und Eigenschaften eines Command-Objekts können Sie folgende Aktionen ausführen:
Definieren Sie den ausführbaren Text des Befehls (z. B. eine SQL-Anweisung) mit der eigenschaft CommandText. Alternativ definieren Sie für Andere Befehls- oder Abfragestrukturen als einfache Zeichenfolgen (z. B. XML-Vorlagenabfragen) den Befehl mit der CommandStream-Eigenschaft.
Geben Sie optional den im CommandText- oder CommandStream- verwendeten Befehlsdialekt mit der eigenschaft Dialekt an.
Definieren Sie parametrisierte Abfragen oder Argumente für gespeicherte Prozeduren mit Parameter--Objekten und der Parameters-Auflistung.
Geben Sie an, ob Parameternamen mit der NamedParameters- eigenschaft an den Anbieter übergeben werden sollen.
Führen Sie einen Befehl aus, und geben Sie ein Recordset--Objekt zurück, falls dies mit der Execute-Methode erforderlich ist.
Geben Sie den Befehlstyp mit der CommandType-Eigenschaft vor der Ausführung an, um die Leistung zu optimieren.
Steuern Sie, ob der Anbieter vor der Ausführung eine vorbereitete (oder kompilierte) Version des Befehls mit der Prepared-Eigenschaft speichert.
Legen Sie die Anzahl der Sekunden fest, die ein Anbieter auf die Ausführung eines Befehls mit der CommandTimeout-eigenschaft wartet.
Zuordnen einer geöffneten Verbindung zu einem Command-Objekt durch Festlegen der ActiveConnection--Eigenschaft.
Legen Sie die eigenschaft Name fest, um das Command-Objekt als Methode für das zugeordnete Connection-Objekt zu identifizieren.
Übergeben Sie ein Command-Objekt an die eigenschaft Source eines Recordset-, um Daten abzurufen.
Zugreifen auf anbieterspezifische Attribute mit der Properties-Auflistung.
Anmerkung
Um eine Abfrage auszuführen, ohne ein Command-Objekt zu verwenden, übergeben Sie eine Abfragezeichenfolge an die Execute-Methode eines Connection-Objekts oder an die Open-Methode eines Recordset--Objekts. Ein Command-Objekt ist jedoch erforderlich, wenn Sie den Befehlstext beibehalten und erneut ausführen oder Abfrageparameter verwenden möchten.
Wenn Sie ein Command-Objekt unabhängig von einem zuvor definierten Connection-Objekt erstellen möchten, legen Sie dessen ActiveConnection--Eigenschaft auf eine gültige Verbindungszeichenfolge fest. ADO erstellt weiterhin ein Connection-Objekt, weist dieses Objekt jedoch keiner Objektvariable zu. Wenn Sie jedoch mehrere Command- Objekte derselben Verbindung zuordnen, sollten Sie explizit ein Connection-Objekt erstellen und öffnen; dadurch wird das Connection -Objekts einer Objektvariable zugewiesen. Stellen Sie sicher, dass das Connection-Objekt erfolgreich geöffnet wurde, bevor Sie es der ActiveConnection--Eigenschaft des Command-Objekts zuweisen, da das Zuweisen eines geschlossenen Connection-Objekts zu einem Fehler führt. Wenn Sie die ActiveConnection- eigenschaft des Command-Objekts nicht auf diese Objektvariable festlegen, erstellt ADO für jedes Command-Objekt ein neues Connection-Objekt, auch wenn Sie dieselbe Verbindungszeichenfolge verwenden.
Rufen Sie zum Ausführen eines Command-die Eigenschaft Name für das zugeordnete Connection-Objekt auf. Die Command- muss die ActiveConnection-Eigenschaft auf das Connection-Objekt festgelegt sein. Wenn der Command Parameter aufweist, übergeben Sie deren Werte als Argumente an die Methode.
Wenn zwei oder mehr Command Objekte in derselben Verbindung ausgeführt werden und entweder Command-Objekt eine gespeicherte Prozedur mit Ausgabeparametern ist, tritt ein Fehler auf. Wenn Sie jedes Command-Objekt ausführen möchten, verwenden Sie separate Verbindungen, oder trennen Sie alle anderen Command- Objekte von der Verbindung.
Die Parameters-Auflistung ist das Standardelement des Command-Objekts. Daher sind die folgenden beiden Codeanweisungen gleichwertig.
objCmd.Parameters.Item(0)
objCmd(0)
- Das Command--Objekt ist für skripterstellung nicht sicher.
Dieser Abschnitt enthält das folgende Thema.
Siehe auch
Connection-Objekt (ADO)
Parameters-Auflistung (ADO)
Properties-Auflistung (ADO)
Anhang A: Anbieter