Command-Objekt | (Versionen 2.0, 2.1, 2.5 und 2.6) |
Das Objekt Command führt an einer angegebenen Datenquelle eine SQL-Anweisung, Abfrage oder gespeicherte Prozedur aus. Es kann die Struktur der Datenquelle verändern, große Batch-Operationen ausführen oder Datensätze auswählen, die in einem Objekt Recordset zurückgegeben werden sollen. |
Eigenschaft Command.ActiveConnection | (Versionen 2.0, 2.1, 2.5 und 2.6) |
Command.ActiveConnection = ConnectionString Set Command.ActiveConnection = ConnectionObject | |
Die Eigenschaft ActiveConnection gibt das Objekt Connection für das aktuelle Objekt Command an. |
|
Datentyp | |
String oder Variante (mit dem aktuellen Objekt Connection) |
|
Beschreibung | |
Die Eigenschaft ActiveConnection kann entweder auf einen String gesetzt werden, der einen Verbindungsstring darstellt, oder auf eine Variante, die ein geöffnetes Connection-Objekt darstellt. Die Eigenschaft ActiveConnection kann entweder auf einen String oder einen Verweis auf ein Connection-Objekt gesetzt werden. Bei Verwendung eines Stringwerts sollte es sich um einen gültigen Verbindungsstring handeln, der an die Eigenschaft ConnectionString eines Connection-Objekts übergeben werden kann. Die Eigenschaft ActiveConnection muss vor der Ausführung eines Command-Objekts gesetzt werden. Bevor sie gesetzt wird, weist die Eigenschaft ActiveConnection standardmäßig eine Null-Objektreferenz als Wert auf. Wenn Sie die Eigenschaft ActiveConnection auf ein geschlossenes Connection-Objekt setzen, generiert ADO einen Fehler. Setzen Sie die Eigenschaft auf Nothing, so trennt ADO die Zuordnung zwischen dem Command- und dem Connection-Objekt und gibt sämtliche der Datenquelle zugewiesene Ressourcen frei. Wenn die Eigenschaft ActiveConnection entweder auf Nothing oder ein anderes Connection-Objekt gesetzt ist, gehen die vom Datenprovider gelieferten Parameter-Objekte in der Kollektionsklasse Parameters von Command verloren. Parameter-Objekte, die der Kollektionsklasse Parameters manuell hinzugefügt wurden, gehen jedoch nicht verloren. Wenn Sie das dem Objekt Command zugeordnete Connection-Objekt schließen, wird die Eigenschaft ActiveConnection des Objekts Command automatisch auf Nothing gesetzt. |
|
Siehe auch | |
Eigenschaft Connection.ConnectionString |
|
Methode Command.Cancel | (Versionen 2.0, 2.1, 2.5 und 2.6) |
Command.Cancel | |
Die Methode Cancel bricht den in Ausführung befindlichen asynchronen Befehl ab. |
|
Beschreibung | |
Die Methode Cancel bricht einen in Ausführung befindlichen, asynchronen Befehl ab, der mit der Methode Execute und der Option adAsyncExecute initiiert wurde. Wenn die Methode Cancel für einen Befehl aufgerufen wird, der nicht mit gesetzter Option adAsyncExecute aufgerufen wurde, tritt ein Fehler auf. |
|
Siehe auch | |
Methode Command.Execute |
|
Eigenschaft Command.CommandStream | (Version 2.6) |
Command.CommandStream = Stream | |
Die Eigenschaft CommandStream setzt oder liefert den für den Datenprovider spezifischen Stream, der als Eingabe für Command verwendet wird, so wie die Eigenschaft CommandText den Befehl für die Eingabe bestimmt. |
|
Datentyp | |
Variante |
|
Beschreibung | |
Die Eigenschaft CommandStream dient zum Festlegen des Streams, der als Eingabe für Command verwendet wird. Ist diese Eigenschaft gesetzt, erhält die Eigenschaft CommandText einen leeren String (") als Wert. Analog dazu erhält die Eigenschaft CommandStream den Wert Nothing, wenn CommandText gesetzt ist. Wenn Sie mit einem Command-Objekt, dessen Quelle ein Stream ist, ein Recordset-Objekt erzeugen, ergibt der Abruf der Eigenschaft Source des Objekts Recordset einen leeren String ("), da sie den Wert der Eigenschaft CommandText des Objekts Command zurückgibt. Wenn die Eigenschaft CommandStream gesetzt ist, müssen Sie für die Eigenschaft CommandType einen der Enumerationswerte adCmdText oder adCmdUnknown verwenden. Das Format des Streams, der auf die Eigenschaft CommandStream gesetzt wird, ist ebenso wie das Verhalten der Methoden Command.Parameters.Refresh und Command.Prepare abhängig vom Datenprovider. |
|
Siehe auch | |
Eigenschaft Command.CommandText, Eigenschaft Comand.CommandDialect, Enumeration CommandTypeEnum, Recordset.Source |
|
Eigenschaft Command.CommandText | (Versionen 2.0, 2.1, 2.5 und 2.6) |
Command.CommandText = CommandText | |
Die Eigenschaft CommandText setzt oder liefert gültige SQL-Anweisungen, Tabellennamen, gespeicherte Prozedurnamen, entsprechende URLs oder einen beliebigen anderen für den Datenprovider erkennbaren Befehlstext. |
|
Datentyp | |
String |
|
Beschreibung | |
Die Eigenschaft CommandText enthält einen Stringwert, der standardmäßig einen leeren String (") enthält. Dieser String kann auf eine SQL-Anweisung, einen Tabellennamen, einen gespeicherten Prozeduraufruf, eine entsprechende URL oder einen beliebigen anderen für den Datenprovider erkennbaren Befehlstext gesetzt sein. Mit der Eigenschaft CommandType wird ADO mitgeteilt, welche Art von Information in der Eigenschaft CommandText gespeichert ist. Wenn die Eigenschaft CommandType auf adCmdText gesetzt ist, weist dies den Provider darauf hin, dass die Eigenschaft CommandText einen Textbefehl als Wert enthält, der für den Provider verständlich ist. In der Regel - aber nicht unbedingt - handelt es sich hierbei um eine SQL-Anweisung. Wenn Sie die Eigenschaft CommandText setzen, bereitet ADO die angegebene Abfrage beim ersten Aufruf einer der Methoden Execute oder Open vor, sofern die Eigenschaft Prepared des Command-Objekts auf True gesetzt und das Objekt an eine geöffnete Verbindung gebunden ist. Je nach dem Wert der Eigenschaft CommandType kann ADO den Wert von CommandText ändern. Der Wert der Eigenschaft CommandText kann jederzeit abgerufen werden. Ist die Eigenschaft CommandStream auf einen Wert gesetzt, erhält die Eigenschaft CommandText automatisch einen leeren String (") als Wert. |
|
Siehe auch | |
Command.CommandStream, Eigenschaft Command.CommandType, Eigenschaft Command.Dialect, Eigenschaft Command.Prepared |
|
Eigenschaft Command.CommandTimeout | (Versionen 2.0, 2.1, 2.5 und 2.6) |
Command.CommlandTimeout = Seconds | |
Die Eigenschaft CommandTimeout gibt in Sekunden an, wie lange bei der Ausführung eines asynchronen Befehls gewartet wird, bevor ADO einen Fehler generiert. |
|
Datentyp | |
Long |
|
Beschreibung | |
Für die Eigenschaft CommandTimeout besteht Lese- und Schreibberechtigung. Mit ihr können Sie festlegen, wie lange ADO auf die Ausführung eines Befehls wartet. Die Einstellung der Eigenschaft CommandTimeout wird in Sekunden wiedergegeben. Ihr Wert beträgt standardmäßig 30. Eine Einstellung dieser Eigenschaft auf Null würde ADO erlauben, unbegrenzt auf die Ausführung eines angegebenen Befehls zu warten. Bei einer Zeitüberschreitung eines Befehls wird ein Fehler generiert. Die Eigenschaft CommandTimeout des Objekts Command hängt nicht mit der Eigenschaft CommandTimeout des Objekts Connection zusammen. |
|
Hinweis | |
Nicht alle Provider unterstützen die Eigenschaft CommandTimeout. Schlagen Sie diesbezüglich in der Dokumentation zu Ihrem Datenprovider nach. Beim Entwickeln einer Anwendung mit ADO bietet es sich an, die Fähigkeiten des vorgesehenen Datenproviders zu überprüfen und, noch bevor Sie den Großteil des Codes geschrieben haben und es dann zu spät ist, festzustellen, ob er Ihre Anforderungen erfüllt. |
|
Siehe auch | |
Methode Command.Execute, Eigenschaft Connection.CommandTimeout |
|
Eigenschaft Command.CommandType | (Versionen 2.0, 2.1, 2.5 und 2.6) |
Command.CommandType = CommandTypeEnum | |
Die Eigenschaft CommandType gibt den aktuellen Typ des Command-Objekts an. |
|
Datentyp | |
CommandTypeEnum |
|
Beschreibung | |
Die Eigenschaft CommandType gibt an, welchen Command-Objekttyp Sie verwenden. Der Wert dieser Eigenschaft kann auf einen der Enumerationswerte für CommandTypeEnum gesetzt werden. Handelt es sich bei der Quelle des Objekts Command um einen Stream (mit der Eigenschaft Command.CommandStream festgelegt), muss die Eigenschaft CommandType entweder auf adCmdText oder adCmdUnknown gesetzt werden. Darüber hinaus kann der Wert ExecuteOptionEnum von adExecuteNoRecords zur Verbesserung der Leistung mit den Konstanten adCmdText oder adCmdStoredProc kombiniert werden. Dieser Wert kann nicht mit der Methode Open des Objekts Recordset verwendet werden. Wenn Ihnen der aktuelle Command-Objekttyp bekannt ist, setzen Sie diese Eigenschaft manuell. Dadurch verhindern Sie, dass ADO den Typ ermittelt, und vermeiden somit unerwünschte Verzögerungen. Eine falsch gesetzte Eigenschaft führt beim Aufruf der Methode Execute zu einem Fehler. |
|
Siehe auch | |
Command.CommandStream, Eigenschaft Command.CommandText, Enumeration CommandTypeEnum |
|
Methode Command.CreateParameter | (Versionen 2.0, 2.1, 2.5 und 2.6) |
Set parameter = command.CreateParameter(Name, Type, Direction, Size, Value) | |
Die Methode CreateParameter erzeugt auf der Grundlage der gelieferten Informationen einen neuen Parameter und gibt diesen zurück. |
|
Argumente | |
|
|
Rückgabewerte | |
Objekt Parameter |
|
Beschreibung | |
Mit der Methode CreateParameter des Objekts Command können Sie ein neues Objekt Parameter mit den von Ihnen angegebenen Informationen, einschließlich Name, Typ, Richtung, Größe und Wert, erzeugen. Wenn Sie mit dieser Methode ein neues Parameter-Objekt erzeugen, wird der Parameter der Kollektion Parameters des gewählten Objekts Command nicht automatisch hinzugefügt. Hierfür müssen Sie die Methode Append der Eigenschaft Command.Parameters verwenden. Beim Zuweisen von Datentypen variabler Länge müssen Sie die Eigenschaft Size zur Vermeidung von Fehlern entweder direkt beim Erzeugen oder zu einem anderen Zeitpunkt vor dem Anhängen an die Kollektion Parameters setzen. Wenn die Eigenschaft Type entweder auf adNumeric oder adDecimal gesetzt ist, müssen für eine vollständige Angabe des Datentyps des Parameters die Eigenschaften Parameter.NumericScale und Parameter.Precision gesetzt werden. So bedeutet beispielsweise NumericScale mit dem Wert 3, dass drei Stellen nach dem Komma angegeben werden, und Precision mit dem Wert 5 steht für eine insgesamt fünfstellige Zahl. |
|
Siehe auch | |
Enumeration DataTypeEnum, Enumeration ParameterDirectionEnum, Eigenschaft Parameter.Direction, Eigenschaft Parameter.Name, Eigenschaft Parameter.NumericScale, Eigenschaft Parameter.Precision, Eigenschaft Parameter.Size, Eigenschaft Parameter.Type, Eigenschaft Parameter.Value |
|
Eigenschaft Command.Dialect | (Version 2.6) |
Command.Dialect = GUID | |
Die Eigenschaft Dialect wird mit den Eigenschaften CommandText und CommandStream zum Angeben der providerspezifischen Syntax der Quelle von Command verwendet. |
|
Datentyp | |
String |
|
Beschreibung | |
Der Standardwert für die Eigenschaft Dialect ist {C8B521FB-5CF3-11CE-ADE5-00AA0044773D}, der ADO mitteilt, dass der Provider zu ermitteln versucht, wie die in einer der Eigenschaften CommandStream oder CommandText angegebene Quelle von Command zu interpretieren ist. |
|
Hinweis | |
Als was die gültigen Werte der Eigenschaft Dialect in Abhängigkeit von dem Wert in der Eigenschaft CommandStream oder CommandText anzugeben sind, entnehmen Sie der Dokumentation zu Ihrem Datenprovider. |
|
Siehe auch | |
Eigenschaft Command.CommandStream, Eigenschaft Command.CommandText |
|
Methode Command.Execute | (Versionen 2.0, 2.1, 2.5 und 2.6) |
Set recordset = command.Execute(RecordsAffected, Parameters, Options) Set stream = command.Execute(RecordsAffected, Parameters, Options) command.Execute RecordsAffected, Parameters, Options | |
Die Methode Execute führt eine mit dem Wert der Eigenschaft Command.CommandText angegebene SQL-Anweisung, Abfrage oder gespeicherte Prozedur aus. |
|
Argumente | |
|
|
Rückgabewerte | |
|
|
Beschreibung | |
Die Methode Execute führt an einer Datenquelle eine SQL-Anweisung, Abfrage oder gespeicherte Prozedur aus. Der Befehl, der ausgeführt wird, hängt von dem Wert der Eigenschaft Command.CommandText ab. Von dem Parameter Options der Methode Execute hängt wiederum ab, wie CommandText von ADO ausgewertet wird. Wenn der Wert von CommandText bewirkt, dass die Methode Execute Datensätze aus der Datenquelle ausliest, werden diese Datensätze von der Methode Execute in der Form eines Recordset-Objekts zurückgegeben. Bei einem von der Methode Command.Execute zurückgegebenen Recordset-Objekt handelt es sich stets um einen schreibgeschützten Forward-only-Cursor. Enthält der Parameter Options der Methode Execute die Werte adAsyncExecute, adAsyncFetch oder adAsyncFetchNonBlocking, werden die Vorgänge im Hintergrund des Anwendungsflusses fortgesetzt. Während diese Vorgänge weiter laufen, kann die Methode Command.Cancel aufgerufen werden, um alle anstehenden asynchronen Vorgänge abzubrechen. |
|
Siehe auch | |
Methode Command.Cancel, Eigenschaft Command.CommadText, Eigenschaft Command.CommandType, Enumeration CommandTypeEnum, Enumeration ExecuteOptionEnum, Enumeration ExecuteOptionEnum |
|
Eigenschaft Command.Name | (Versionen 2.0, 2.1, 2.5 und 2.6) |
command.Name = Name | |
Die Eigenschaft Name gibt den Namen des aktuellen Connection-Objekts an. |
|
Datentyp | |
String |
|
Beschreibung | |
Für die Eigenschaft Name für das Command-Objekt besteht sowohl Lese- als auch Schreibberechtigung. Mit ihr weisen Sie dem entsprechenden Command-Objekt einen Namen zu oder rufen ein Command-Objekt aus der Kollektion Commands ab. Innerhalb von Kollektionen müssen Namen nicht eindeutig sein. |
|
Eigenschaft Command.NamedParameters | (Version 2.6) |
command.NamedParameters = Boolean | |
Die Eigenschaft NamedParameters gibt an, ob der Datenprovider die Parameter des Command-Objekts mit Hilfe von Parametern oder in der Reihenfolge ihres Auftretens zuordnen soll. |
|
Datentyp | |
Boolean |
|
Beschreibung | |
Wenn die Eigenschaft NamedParameters auf True gesetzt ist, werden die Namenseigenschaften jedes Parameter-Objekts in den aktuellen Command-Objekten der Kollektion Parameters an den Datenprovider übergeben, so dass sie zur Zuordnung zwischen Parametern und Werten in einer der Eigenschaften CommandText oder CommandStream eingesetzt werden können. Wenn diese Eigenschaft auf False gesetzt ist, werden die Parameter nicht nach Namen, sondern nach der Reihenfolge ihres Auftretens zugeordnet. |
|
Siehe auch | |
Eigenschaft Command.CommandText, Eigenschaft Command.CommandStream, Kollektion Parameters |
|
Kollektion Command.Parameters | (Versionen 2.0, 2.1, 2.5 und 2.6) |
Set parameters = command.Parameters | |
Die Kollektion Parameters gibt eine Parametersammlung für das angegebene Command-Objekt zurück. |
|
Datentyp | |
Parameter (Kollektionsobjekt) |
|
Gilt für | |
Objekt Command |
|
Beschreibung | |
Die Eigenschaft Parameters des Objekts Command ist schreibgeschützt. Sie gibt einen Verweis auf das Kollektionsobjekt Parameters zurück, das entweder keine oder zahlreiche die Parameter für den angegebenen Befehl darstellende Parameter-Objekte enthalten kann. |
|
Eigenschaft Command.Prepared | (Versionen 2.0, 2.1, 2.5 und 2.6) |
command.Prepared = Boolean | |
Die Eigenschaft Prepared bestimmt, ob für das aktuelle Command-Objekt vor dessen Ausführung eine Vorbereitungsanweisung erzeugt werden soll. |
|
Datentyp | |
Boolean |
|
Beschreibung | |
Weist die Eigenschaft Prepared den Wert True auf, dann wird die mit der Eigenschaft CommandText des Objekts Command definierte Abfrage vor ihrer ersten Ausführung kompiliert und gespeichert (vorbereitet). Danach greift die Anweisung Execute für jede Ausführung auf die bereits kompilierte Version der Abfrage zurück. Der erste Aufruf von Execute fällt daher zwar etwas langsamer aus, alle nachfolgenden jedoch schneller. Weist die Eigenschaft Prepared den Wert False auf, dann wird die Abfrage nicht kompiliert. Stattdessen wird sie direkt vom Command-Objekt durchgeführt. |
|
Hinweis | |
Nicht alle Provider unterstützen die Eigenschaft Prepared. Bei einigen Providern wird ein Fehler generiert, sobald Sie die Eigenschaft Prepared auf True setzen. Andere wiederum melden keinen Fehler und ersetzen den Wert der Eigenschaft Prepared automatisch mit False. |
|
Kollektion Command.Properties | (Versionen 2.0, 2.1, 2.5 und 2.6) |
Set properties = command.Properties | |
Die Eigenschaft Properties gibt eine Kollektionsklasse Properties mit Eigenschaften zurück, die sich speziell auf das Command-Objekt des aktuell verwendeten Providers beziehen. |
|
Datentyp | |
Eigenschaften (Kollektionsobjekt) |
|
Gilt für | |
Objekt Command |
|
Beschreibung | |
Die Kollektionsklasse Properties enthält für jede spezifisch auf das Command-Objekt des Datenproviders zutreffende Eigenschaft eine Instanz der Klasse Property. Die Kollektion Properties des Objekts Command wird erst ausgefüllt, wenn die Eigenschaft ActiveConnection des Objekts Command auf ein geöffnetes Connection-Objekt oder einen gültigen Verbindungsstringwert gesetzt wird. |
|
Siehe auch | |
Eigenschaft Command.ActiveConnection |
|
Eigenschaft Command.State | (Versionen 2.0, 2.1, 2.5 und 2.6) |
state = command.State | |
Mit der Eigenschaft Status können Sie bei Verwendung von Stapelaktualisierungen oder Bulk-Operationen den Status des aktuellen Datensatzes ermitteln. |
|
Datentyp | |
RecordStatusEnum |
|
Beschreibung | |
Die Eigenschaft Type dient zum Überprüfen der bei einer Stapelaktualisierung vorgenommenen Änderungen von Datensätzen. Darüber hinaus bietet sie die Möglichkeit, den Status der Datensätze zu überprüfen, die bei Bulk-Operationen Fehler erzeugt haben. Dies kann beispielsweise beim Aufruf der Methoden Delete, Resync, UpdateBatch oder CancelBatch oder dann geschehen, wenn eine Filter-Eigenschaft auf ein Lesezeichen-Array gesetzt ist. Die Eigenschaft Type gibt eine Summe einer oder mehrerer RecordStatusEnum-Enumerationen zurück. |
|
Siehe auch | |
Recordset.CancelBatch, Methode Recordset.Delete, Eigenschaft Recordset.Filter, Methode Recordset.Resync, Recordset.UpdateBatch, Enumeration RecordStatusEnum, Enumeration ObjectStateEnum |
|