Execute メソッド

· 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

Command オブジェクトで Execute メソッドを使うと、オブジェクトの CommandText プロパティで指定されたクエリーが実行されます。CommandText プロパティに列を返すクエリーを指定すると、生成された実行結果がすべて新しい Recordset オブジェクトに格納されます。コマンドが列を返すクエリーではない場合には、プロバイダは閉じている Recordset オブジェクトを返します。ほとんどのアプリケーション言語では、Recordset が不要な場合にこの戻り値を無視することができます。

クエリーでパラメータが指定されている場合は、Command オブジェクトのパラメータの現在の値が使われます。ただし、Execute 呼び出しの中でパラメータ値を渡した場合にはそれらの値が使われます。また、Execute メソッドを呼び出すときにパラメータの一部を省くことによって、特定のパラメータだけを変更することもできます。パラメータは、メソッドが渡す順序と同じ順序で指定します。たとえば、4 つ (またはそれ以上) のパラメータがあり、1 番目と 4 番目のパラメータだけに新しい値を渡したい場合は、引数 ParametersArray(var1,,,var4) というようにパラメータを渡します。

注意 出力パラメータを引数 Parameters に渡しても、正しい値は返されません。

Connection

Connection オブジェクトで Execute メソッドを使うと、引数 CommandText に渡したクエリーが、指定された接続上で実行されます。引数 CommandText に列を返すクエリーを指定すると、生成された実行結果がすべて新しい Recordset オブジェクトに格納されます。コマンドが列を返すクエリーではない場合には、プロバイダは閉じている Recordset オブジェクトを返します。

引数 CommandText の内容はプロバイダによって異なり、標準の SQL 構文のほか、プロバイダがサポートしている特殊なコマンド形式になることがあります。

対象

CommandConnection