データ ソースに対して実行する、特定のコマンドの定義です。
解説
Command オブジェクトを使うと、データベースへのクエリを実行して Recordset オブジェクト内のレコードを返したり、一括操作を実行したり、データベース構造の操作を行うことができます。プロバイダの機能によっては、Command オブジェクトのコレクション、メソッド、またはプロパティを参照したときにエラーが発生する場合があります。
Command オブジェクトのコレクション、メソッド、プロパティを使って、次の操作を行うことができます。
注意 Command オブジェクトを使わずにクエリを実行するには、クエリ文字列を Connection オブジェクトの Execute メソッド、または Recordset オブジェクトの Open メソッドに渡します。ただし、コマンド テキストを永続させて再実行する場合、またはクエリ パラメータを使う場合は、Command オブジェクトが必要です。
定義済みの Connection オブジェクトとは関係なく Command オブジェクトを作成するには、ActiveConnection プロパティに有効な接続文字列を設定します。この場合も Connection オブジェクトが作成されますが、そのオブジェクトは、オブジェクト変数には代入されません。ただし、同じ接続に複数の Command オブジェクトを関連付ける場合は、Connection オブジェクトを明示的に作成して開く必要があります。この操作により、Connection オブジェクトがオブジェクト変数に代入されます。Command オブジェクトの ActiveConnection プロパティをこのオブジェクト変数に設定しない場合、同じ接続文字列を使っても、Command オブジェクトごとに新規 Connection オブジェクトが作成されます。
Command オブジェクトを実行するには、関連付けられた Connection オブジェクトで Name プロパティを使って呼び出します。Command オブジェクトの ActiveConnection プロパティには Connection オブジェクトを設定します。Command オブジェクトがパラメータを持つ場合は、引数として値をメソッドに渡します。
同じ接続で 2 つ以上の Command オブジェクトが実行されたときに、いずれかの Command オブジェクトが出力パラメータを持つストアド プロシージャの場合は、エラーが発生します。それぞれの Command オブジェクトを実行するには、別の接続を使用するか、ほかのすべての Command オブジェクトの接続を解除します。
Parameters コレクションは、Command オブジェクトの既定メンバです。したがって、次の 2 つのコード ステートメントは等価です。
objCmd.Parameters.Item(0)
objCmd(0)