データ ソースに対して実行する特定のコマンドを定義します。
備考
Command オブジェクトを使用して、データベースのクエリを実行し、Recordset オブジェクト内のレコードを返したり、一括操作を実行したり、データベースの構造を操作したりします。 プロバイダーの機能によっては、一部の Command コレクション、メソッド、またはプロパティが参照されたときにエラーが生成される場合があります。
Command オブジェクトのコレクション、メソッド、およびプロパティを使用すると、次の操作を実行できます。
CommandText プロパティを使用して、コマンドの実行可能テキスト (SQL ステートメントなど) を定義します。 または、単純な文字列 (XML テンプレート クエリなど) 以外のコマンドまたはクエリ構造の場合は、CommandStream プロパティを使用してコマンドを定義します。
必要に応じて、CommandText または 言語 プロパティを使用して CommandStream を コマンド 言語を指定します。
パラメーター化されたクエリまたはストアド プロシージャの引数は、Parameter オブジェクトと Parameters コレクションを使用して定義します。
NamedParameters プロパティを使用して、パラメーター名をプロバイダーに渡す必要があるかどうかを示します。
コマンドを実行し、Execute メソッドで必要に応じて、Recordset オブジェクトを返します。
パフォーマンスを最適化するために、実行前に CommandType プロパティを使用してコマンドの種類を指定します。
Prepared プロパティを使用して、実行前に準備済み (またはコンパイル済み) バージョンのコマンドをプロバイダーが保存するかどうかを制御します。
CommandTimeout プロパティを使用してコマンドが実行されるまでプロバイダーが待機する秒数を設定します。
ActiveConnection プロパティを設定して、開いている接続を Command オブジェクトに関連付けます。
関連付けられている Connection オブジェクトのメソッドとして Command オブジェクトを識別するには、Name プロパティを設定します。
Recordset の Source プロパティに Command オブジェクトを渡してデータを取得します。
Properties コレクションを使用してプロバイダー固有の属性にアクセスします。
手記
Command オブジェクトを使用せずにクエリを実行するには、Connection オブジェクトの Execute メソッドまたは Recordset オブジェクトの Open メソッドにクエリ文字列を渡します。 ただし、コマンド テキストを永続化して再実行する場合、またはクエリ パラメーターを使用する場合は、Command オブジェクトが必要です。
コマンド オブジェクトを、以前に定義した Connection オブジェクトとは別に作成するには、その ActiveConnection プロパティを有効な接続文字列に設定します。 ADO は引き続き Connection オブジェクトを作成しますが、そのオブジェクトをオブジェクト変数に割り当てません。 ただし、複数の Command オブジェクトを同じ接続に関連付けする場合は、Connection オブジェクトを明示的に作成して開く必要があります。これにより、Connection オブジェクトがオブジェクト変数に割り当てられます。 コマンド オブジェクトの ActiveConnection プロパティに割り当てる前に、Connection オブジェクトが正常に開かれていることを確認します。これは、閉じた Connection オブジェクトを割り当てるとエラーが発生するためです。 Command オブジェクトの ActiveConnection プロパティをこのオブジェクト変数に設定しない場合、ADO は、同じ接続文字列を使用する場合でも、Command オブジェクトごとに新しい Connection オブジェクトを作成します。
コマンドを実行するには、関連付けられている Connection オブジェクトの Name プロパティで呼び出します。 コマンド では、ActiveConnection プロパティを Connection オブジェクトに設定する必要があります。 コマンド にパラメーターがある場合は、その値を引数としてメソッドに渡します。
2 つ以上の Command オブジェクトが同じ接続で実行され、Command オブジェクトが出力パラメーターを持つストアド プロシージャである場合、エラーが発生します。 各 Command オブジェクトを実行するには、個別の接続を使用するか、接続から他のすべての Command オブジェクトを切断します。
Parameters コレクションは、Command オブジェクトの既定のメンバーです。 その結果、次の 2 つのコード ステートメントは同等です。
objCmd.Parameters.Item(0)
objCmd(0)
- Command オブジェクトは、スクリプトを作成しても安全ではありません。
このセクションには、次のトピックが含まれています。
関連項目
Connection オブジェクト (ADO)
Parameters コレクション (ADO)
プロパティ コレクション (ADO)
付録 A: プロバイダー