Command-Objekt (ADO)
Definiert einen bestimmten Befehl, den Sie für eine Datenquelle ausführen möchten.
Hinweise
Verwenden Sie ein Command-Objekt, um eine Datenbank abzufragen und Datensätze in einem Recordset-Objekt zurückzugeben und dadurch einen Massenvorgang auszuführen oder die Struktur einer Datenbank zu bearbeiten. Abhängig von der Funktionalität des Anbieters können einige Command-Auflistungen, -Methoden oder -Eigenschaften einen Fehler generieren, wenn auf sie verwiesen wird.
Die Auflistungen, Methoden und Eigenschaften eines Command-Objekts bieten Ihnen folgende Möglichkeiten:
Definieren Sie den ausführbaren Text des Befehls (z. B. eine SQL-Anweisung) mit der CommandText-Eigenschaft . Alternativ: Definieren des Befehls mit der CommandStream-Eigenschaft für andere Befehls- oder Abfragestrukturen als einfache Zeichenfolgen (z. B. XML-Vorlagenabfragen).
Optional: Angeben des Befehlsdialekts, der in CommandText oder CommandStream mit der Dialect-Eigenschaft verwendet wird.
Definieren von parametrisierten Abfragen oder Argumenten gespeicherter Prozeduren mit Parameter-Objekten und der Parameters-Auflistung.
Angeben, ob Parameternamen mit der NamedParameters-Eigenschaft an den Anbieter übergeben werden sollen.
Ausführen eines Befehls und Zurückgeben eines Recordset-Objekts (sofern angebracht) mit der Execute-Methode.
Angeben des Befehlstyps mit der CommandType-Eigenschaft vor der Ausführung, um die Leistung zu optimieren.
Steuern, ob der Anbieter vor der Ausführung mit der Prepared-Eigenschaft eine vorbereitete (oder kompilierte) Version des Befehls speichert.
Festlegen der Anzahl von Sekunden, auf die ein Anbieter wartet, bis ein Befehl mit der CommandTimeout-Eigenschaft ausgeführt wird.
Zuordnen einer offenen Verbindung mit einem Command-Objekt durch Festlegen der zugehörigen ActiveConnection-Eigenschaft.
Legen Sie die Name-Eigenschaft fest, um das Command-Objekt als Methode für das zugeordnete Connection-Objekt zu identifizieren.
Übergeben eines Command-Objekts an die Source-Eigenschaft eines Recordsets, um Daten abzurufen.
Zugreifen auf anbieterspezifische Attribute mit der Properties-Auflistung.
Hinweis
Wenn Sie eine Abfrage ohne Verwendung eines Command-Objekts ausführen möchten, übergeben Sie eine Abfragezeichenfolge an die Execute-Methode eines Connection-Objekts oder die Open-Methode eines Recordset-Objekts. Ein Command-Objekt ist jedoch erforderlich, wenn Sie den Befehlstext beibehalten und erneut ausführen möchten oder Abfrageparameter verwenden.
Um ein Command-Objekt unabhängig von einem zuvor definierten Connection-Objekt zu erstellen, legen Sie die zugehörige 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 mit derselben Verbindung zuordnen, sollten Sie explizit ein Connection-Objekt erstellen und öffnen. Dadurch wird das Connection-Objekt 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 einen Fehler verursacht. Wenn Sie die ActiveConnection-Eigenschaft des Command-Objekts nicht auf diese Objektvariable festlegen, erstellt ADO ein neues Connection-Objekt für jedes Command-Objekt, auch wenn Sie dieselbe Verbindungszeichenfolge verwenden.
Um ein Command-Objekt auszuführen, rufen Sie es anhand der Name-Eigenschaft des zugeordneten Connection-Objekts auf. Das Command-Objekt muss über die ActiveConnection-Eigenschaft auf das Connection-Objekt festgelegt sein. Wenn das Command-Objekt Parameter enthält, übergeben Sie deren Werte als Argumente an die Methode.
Wenn zwei oder mehr Command-Objekte in derselben Verbindung ausgeführt werden und beide Command-Objekte eine gespeicherte Prozedur mit Ausgabeparametern sind, tritt ein Fehler auf. Um jedes Command-Objekt auszuführen, verwenden Sie separate Verbindungen, oder trennen Sie alle anderen Command-Objekte von der Verbindung.
Die Parameters-Auflistung ist das Standardmitglied des Command-Objekts. Daher sind die folgenden beiden Codeanweisungen gleichwertig.
objCmd.Parameters.Item(0)
objCmd(0)
- Das Command-Objekt ist für die Skripterstellung nicht sicher.
Dieser Abschnitt enthält das folgende Thema:
Weitere Informationen
Connection-Objekt (ADO)
Parameters-Collection (ADO)
Properties-Collection (ADO)
Anhang A: Daten und Dienstanbieter