Command オブジェクト (ADO)Command Object (ADO)

データ ソースに対して実行する特定のコマンドを定義します。Defines a specific command that you intend to execute against a data source.


使用して、コマンドデータベースを照会して、レコードを取得するオブジェクト、レコード セットオブジェクト、データベースの構造を操作したり、一括操作を実行します。Use a Command object to query a database and return records in a Recordset object, to execute a bulk operation, or to manipulate the structure of a database. プロバイダーの機能をいくつかに応じてコマンド参照されている場合、コレクション、メソッド、またはプロパティすると、エラーが発生する可能性があります。Depending on the functionality of the provider, some Command collections, methods, or properties may generate an error when they are referenced.

コレクション、メソッド、およびプロパティの使用、コマンドオブジェクトを次を行うことができます。With the collections, methods, and properties of a Command object, you can do the following:

  • コマンド (たとえば、SQL ステートメント) の実行可能ファイルのテキストの定義、 CommandTextプロパティ。Define the executable text of the command (for example, an SQL statement) with the CommandText property. または、コマンドまたはクエリ構造よりも単純なその他の文字列 (たとえば、XML テンプレートのクエリ) を定義してコマンドをCommandStreamプロパティ。Alternatively, for command or query structures other than simple strings (for example, XML template queries) define the command with the CommandStream property.

  • 必要に応じてで使用されるコマンド言語を示す、 CommandTextまたはCommandStreamで、言語プロパティ。Optionally, indicate the command dialect used in the CommandText or CommandStream with the Dialect property.

  • パラメーター化クエリまたはストアド プロシージャの引数と定義パラメーターオブジェクトとパラメーターコレクション。Define parameterized queries or stored-procedure arguments with Parameter objects and the Parameters collection.

  • 使用してプロバイダーをパラメーター名を渡す必要があるかどうかを示す、 NamedParametersプロパティ。Indicate whether parameter names should be passed to the provider with the NamedParameters property.

  • コマンドを実行し、返す、 Recordsetオブジェクトで該当する場合、 Executeメソッド。Execute a command and return a Recordset object if appropriate with the Execute method.

  • コマンドの種類を指定、 CommandTypeパフォーマンスを最適化するために実行する前にプロパティ。Specify the type of command with the CommandType property prior to execution to optimize performance.

  • プロバイダーを実行する前に、コマンドの準備済み (またはコンパイル済み) のバージョンを保存するかどうかを制御、準備プロパティ。Control whether the provider saves a prepared (or compiled) version of the command prior to execution with the Prepared property.

  • プロバイダーがコマンドの実行を待機する秒数を設定、 CommandTimeoutプロパティ。Set the number of seconds that a provider will wait for a command to execute with the CommandTimeout property.

  • 開いている接続を関連付ける、コマンドオブジェクトを設定してそのActiveConnectionプロパティ。Associate an open connection with a Command object by setting its ActiveConnection property.

  • 設定、名前プロパティを識別するために、コマンドオブジェクトに関連付けられているメソッドとして接続オブジェクト。Set the Name property to identify the Command object as a method on the associated Connection object.

  • 渡す、コマンドオブジェクトをソースのプロパティをレコード セットデータを取得します。Pass a Command object to the Source property of a Recordset to obtain data.

  • プロバイダーに固有の属性へのアクセス、プロパティコレクション。Access provider-specific attributes with the Properties collection.


クエリの実行を使用せずに、コマンドオブジェクト、クエリ文字列を渡す、 Executeのメソッド、接続オブジェクトまたは、 を開くのメソッド、 Recordsetオブジェクト。To execute a query without using a Command object, pass a query string to the Execute method of a Connection object or to the Open method of a Recordset object. ただし、コマンドコマンド テキストを保持し、再実行するか、またはクエリ パラメーターを使用する場合は、オブジェクトが必要です。However, a Command object is required when you want to persist the command text and re-execute it, or use query parameters.

作成する、コマンド以前に定義されたとは無関係にオブジェクト接続オブジェクト、設定、 ActiveConnectionプロパティを有効な接続文字列にします。To create a Command object independently of a previously defined Connection object, set its ActiveConnection property to a valid connection string. ADO が作成されますが、接続オブジェクトが、これはそのオブジェクトに割り当てませんオブジェクト変数です。ADO still creates a Connection object, but it does not assign that object to an object variable. ただし、複数を関連付ける場合コマンド同じ接続では、オブジェクトを明示的に作成し、開く、接続オブジェクトこの割り当て、 の接続。 オブジェクト変数にオブジェクト。However, if you are associating multiple Command objects with the same connection, you should explicitly create and open a Connection object; this assigns the Connection object to an object variable. 確認、接続に割り当てる前に、オブジェクトが正常に開かれた、 ActiveConnectionのプロパティ、コマンドオブジェクトを割り当てるため、閉じられた接続オブジェクト、エラーが発生します。Make sure that the Connection object was opened successfully before you assign it to the ActiveConnection property of the Command object, because assigning a closed Connection object causes an error. 設定しない場合、 ActiveConnectionのプロパティ、コマンドADO 新たに作成しますが、このオブジェクトの変数にオブジェクト接続オブジェクトごとにコマンドオブジェクト、同じ接続文字列を使用する場合でもです。If you do not set the ActiveConnection property of the Command object to this object variable, ADO creates a new Connection object for each Command object, even if you use the same connection string.

実行する、コマンド、呼び出すことの名前プロパティに関連付けられている接続オブジェクト。To execute a Command, call it by its Name property on the associated Connection object. コマンド必要があります、 ActiveConnectionプロパティに設定、接続オブジェクト。The Command must have its ActiveConnection property set to the Connection object. 場合、コマンドはその値を引数としてメソッドに渡すパラメーターがあります。If the Command has parameters, pass their values as arguments to the method.

2 つ以上の場合コマンドオブジェクトが同じ接続し、いずれかで実行されるコマンドオブジェクトが出力パラメーターを使用してストアド プロシージャであり、エラーが発生します。If two or more Command objects are executed on the same connection and either Command object is a stored procedure with output parameters, an error occurs. 各を実行するコマンドオブジェクト、個別の接続を使用して、またはその他のすべての接続を切断コマンド接続からのオブジェクト。To execute each Command object, use separate connections or disconnect all other Command objects from the connection.

パラメーターコレクションがの既定のメンバー、コマンドオブジェクト。The Parameters collection is the default member of the Command object. その結果、次の 2 つのコード ステートメントは同等です。As a result, the following two code statements are equivalent.

  • コマンドオブジェクトは、スクリプトを実行することはありません。The Command object is not safe for scripting.

このセクションには、次のトピックが含まれています。This section contains the following topic.

参照See Also

接続オブジェクト (ADO) Connection Object (ADO)
Parameters コレクション (ADO) Parameters Collection (ADO)
Properties コレクション (ADO) Properties Collection (ADO)
付録 A: プロバイダーAppendix A: Providers