· Command セ クエリー、SQL ステートメント、または CommandText プロパティに指定されているストアド プロシージャを実行します。
· Connection セ 指定されたクエリー、SQL ステートメント、またはストアド プロシージャを実行します。
Command オブジェクトの場合:
Set recordset = command.Execute(RecordsAffected,
Parameters, Options)
command.Execute
RecordsAffected, Parameters, Options
Connection オブジェクトの場合:
Set recordset = connection.Execute(CommandText,
RecordsAffected, Options)
connection.Execute
CommandText, RecordsAffected, Options
Execute メソッドの構文には、次の指定項目があります。
指定項目 |
説明 |
recordset |
クエリーの結果が格納される Recordset オブジェクトを表すオブジェクト変数です。 |
command |
Command オブジェクトを表すオブジェクト変数です。このオブジェクトの CommandText プロパティに、実行するクエリーを格納します。 |
connection |
クエリーの実行対象となる Connection オブジェクトを表すオブジェクト変数です。 |
RecordsAffected |
(省略可能) 長整数型 (Long) の変数です。プロバイダは、実行操作によって作用を受けたレコードの数をこの変数に返します。 |
Parameters |
(省略可能) SQL ステートメントとともに渡されるパラメータ値のバリアント型 (Variant) 配列です (出力パラメータをこの引数に渡しても正しい値は返されません)。 |
CommandText |
実行する SQL ステートメント、テーブル名、またはストアド プロシージャからなる文字列型 (String) です。 |
Options |
(省略可能) プロバイダが引数 CommandText をどのように評価すべきかを示す CommandTypeEnum 値です。次の定数のうちの 1 つを指定できます。 |
adCmdText、1 セ CommandText をテキスト形式のコマンド定義として評価します。 adCmdTable、2 セ CommandText をテーブル名として評価します。 adCmdStoredProc、4 セ CommandText をストアド プロシージャとして評価します。 adCmdUnknown、8 セ 引数 CommandText のコマンドの種類は不明です。 | |
これらの変数の詳細については、CommandType プロパティを参照してください。 |
Execute メソッドは、既存の Command オブジェクト、または選択したクエリーを実行するために使います。必要であれば、結果を格納する Recordset オブジェクトを指定することもできます。
Command オブジェクトで Execute メソッドを使うと、オブジェクトの CommandText プロパティで指定されたクエリーが実行されます。CommandText プロパティに列を返すクエリーを指定すると、生成された実行結果がすべて新しい Recordset オブジェクトに格納されます。コマンドが列を返すクエリーではない場合には、プロバイダは閉じている Recordset オブジェクトを返します。ほとんどのアプリケーション言語では、Recordset が不要な場合にこの戻り値を無視することができます。
クエリーでパラメータが指定されている場合は、Command オブジェクトのパラメータの現在の値が使われます。ただし、Execute 呼び出しの中でパラメータ値を渡した場合にはそれらの値が使われます。また、Execute メソッドを呼び出すときにパラメータの一部を省くことによって、特定のパラメータだけを変更することもできます。パラメータは、メソッドが渡す順序と同じ順序で指定します。たとえば、4 つ (またはそれ以上) のパラメータがあり、1 番目と 4 番目のパラメータだけに新しい値を渡したい場合は、引数 Parameters に Array(var1,,,var4) というようにパラメータを渡します。
注意 出力パラメータを引数 Parameters に渡しても、正しい値は返されません。
Connection オブジェクトで Execute メソッドを使うと、引数 CommandText に渡したクエリーが、指定された接続上で実行されます。引数 CommandText に列を返すクエリーを指定すると、生成された実行結果がすべて新しい Recordset オブジェクトに格納されます。コマンドが列を返すクエリーではない場合には、プロバイダは閉じている Recordset オブジェクトを返します。
引数 CommandText の内容はプロバイダによって異なり、標準の SQL 構文のほか、プロバイダがサポートしている特殊なコマンド形式になることがあります。