Command オブジェクトの CommandText プロパティまたは CommandStream プロパティで指定されたクエリ、SQL ステートメント、またはストアド プロシージャを実行します。
構文
Set recordset = command.Execute( RecordsAffected, Parameters, Options )
戻り値
Recordset オブジェクト参照、ストリーム、または Nothing を返します。
パラメーター
RecordsAffected
任意。
Long 変数。プロバイダーは、操作が影響を受けたレコードの数を返します。
RecordsAffected パラメーターは、アクション クエリまたはストアド プロシージャにのみ適用されます。
RecordsAffected は、結果を返すクエリまたはストアド プロシージャによって返されるレコードの数を返しません。 この情報を取得するには、 RecordCount プロパティを使用します。
Execute メソッドは、adAsyncExecute で使用すると正しい情報を返しません。これは、コマンドが非同期的に実行されるときに、影響を受けるレコードの数が、メソッドから返された時点でまだわかっていない可能性があるためです。
パラメーター
任意。
CommandText または CommandStream で指定された入力文字列またはストリームと組み合わせて使用されるパラメーター値の Variant 配列。 (この引数で渡された場合、出力パラメーターは正しい値を返しません)。)
[オプション]
任意。 プロバイダーが CommandText または Command オブジェクトの CommandStream プロパティを評価する方法を示す Long 値です。
CommandTypeEnum 値または ExecuteOptionEnum 値を使用して作成されるビットマスク値を指定できます。 たとえば、ADO で CommandText プロパティの値をテキストとして評価し、コマンド テキストの実行時に生成されるレコードを破棄して返さないことを示す場合は、adCmdText と adExecuteNoRecords を組み合わせて使用できます。
注
内部処理を最小限に抑えることでパフォーマンスを向上させるには、 ExecuteOptionEnum 値 adExecuteNoRecords を使用します。 adExecuteStream が指定されている場合、オプション adAsyncFetch と adAsynchFetchNonBlocking は無視されます。 execute で adCmdFile または adCmdTableDirect の CommandTypeEnum 値を使用しないでください。 これらの値は、Recordsetの Open メソッドおよび Requery メソッドのオプションとしてのみ使用できます。
注釈
Command オブジェクトで Execute メソッドを使用すると、オブジェクトの CommandText プロパティまたは CommandStream プロパティで指定されたクエリが実行されます。
結果は、 レコードセット (既定) またはバイナリ情報のストリームとして返されます。 バイナリ ストリームを取得するには、[オプション] で adExecuteStream を指定し、Command.Properties("Output Stream") を設定してストリームを指定します。 結果を受け取る ADO Stream オブジェクトを指定することも、IIS 応答オブジェクトなどの別のストリーム オブジェクトを指定することもできます。 adExecuteStream で Execute を呼び出す前にストリームが指定されていない場合は、エラーが発生します。 Execute からのリターン時のストリームの位置はプロバイダー固有です。
コマンドが結果 (SQL UPDATE クエリなど) を返すことを意図していない場合、adExecuteNoRecords オプションが指定されている限り、プロバイダーは Nothing を返します。それ以外の場合、Execute は Recordset 閉じた値を返します。 一部のアプリケーション言語では、 Recordset が必要ない場合は、この戻り値を無視できます。
CommandType が adCmdStoredProc、adCmdTable、または adCmdTableDirect の場合、ユーザーが CommandStream の値を指定すると、エラーが発生します。
クエリにパラメーターがある場合、Execute 呼び出しで渡されたパラメーター値でオーバーライドしない限り、Command オブジェクトのパラメーターの現在の値が使用されます。
Execute メソッドを呼び出すときに、一部のパラメーターの新しい値を省略することで、パラメーターのサブセットをオーバーライドできます。 パラメーターを指定する順序は、メソッドがパラメーターを渡す順序と同じです。 たとえば、4 つ以上のパラメーターがあり、最初と 4 番目のパラメーターにのみ新しい値を渡す場合は、パラメーター引数としてArray(var1,,,var4)
を渡します。
注
Parameters 引数で 渡された場合、出力パラメーターは正しい値を返しません。
ExecuteComplete イベントは、この操作が終了すると発行されます。
注
URL を含むコマンドを発行すると、http スキームを使用するコマンドは 、Microsoft OLE DB Provider for Internet Publishing を自動的に呼び出します。 詳細については、「絶対 URL と相対 URL を参照してください。
適用対象
こちらもご覧ください
Execute、Requery、Clear メソッドの使用例 (VB)
Execute、Requery、Clear メソッドの使用例 (VBScript)
Execute、Requery、Clear メソッドの使用例 (VC++)
CommandStream プロパティ (ADO)
CommandText プロパティ (ADO)
CommandTypeEnum
Execute メソッド (ADO 接続)
ExecuteComplete イベント (ADO)