Execute メソッド (ADO Command)

Command オブジェクトCommandText または CommandStream プロパティに指定されたクエリ、SQL ステートメント、またはストアド プロシージャを実行します。

構文

  
Set recordset = command.Execute( RecordsAffected, Parameters, Options )  

戻り値

Recordset オブジェクト参照、ストリーム、または Nothing を返します。

パラメーター

RecordsAffected
省略可能。 プロバイダーが、操作の影響を受けたレコードの数を返す Long 変数。 RecordsAffected パラメーターは、アクション クエリまたはストアド プロシージャにのみ適用されます。 RecordsAffected は、結果を返すクエリまたはストアド プロシージャによって返されたレコード数を返しません。 この情報を取得するには、RecordCount プロパティを使用します。 adAsyncExecute を指定して使用した場合、Execute メソッドは正しい情報を返しません。これは、コマンドが非同期的に実行されると、メソッドが値を返す時点では、影響を受けるレコードの数がまだわからない場合があるからです。

パラメーター
省略可能。 CommandText または CommandStream に指定された入力文字列またはストリームと組み合わせて使用されるパラメーター値の Variant 配列。 (この引数で渡された場合、出力パラメーターは正しい値を返しません。)

[オプション]
省略可能。 プロバイダーによる Command オブジェクトの CommandText または CommandStream プロパティの評価方法を示す Long 値。 CommandTypeEnum 値や ExecuteOptionEnum 値を使用して作成されるビットマスク値を指定できます。 たとえば、ADO が CommandText プロパティの値をテキストと評価するようにし、コマンド テキストが実行されたときに生成される可能性があるレコードを破棄して返さないことを示す場合は、adCmdTextadExecuteNoRecords を組み合わせて使用できます。

注意

内部処理を最小限に抑えてパフォーマンスを向上させるには、ExecuteOptionEnum 値の adExecuteNoRecords を使用します。 adExecuteStream を指定した場合、adAsyncFetchadAsynchFetchNonBlocking オプションは無視されます。 CommandTypeEnum 値の adCmdFile または adCmdTableDirectExecute で使用しないでください。 これらの値は、RecordsetOpenRequery メソッドでオプションとしてのみ使用できます。

注釈

Command オブジェクトで Execute メソッドを使用すると、オブジェクトの CommandText プロパティまたは CommandStream プロパティに指定されたクエリが実行されます。

結果は、Recordset (既定) で、またはバイナリ情報のストリームとして返されます。 バイナリ ストリームを取得するには、OptionsadExecuteStream を指定し、Command.Properties("Output Stream") を設定してストリームを指定します。 結果を受け取る ADO Stream オブジェクトを指定することも、IIS Response オブジェクトなどの別のストリーム オブジェクトを指定することもできます。 adExecuteStream を指定して Execute を呼び出す前にストリームが指定されていない場合、エラーが発生します。 Execute から返されるストリームの位置は、プロバイダー固有です。

コマンドによって結果が返されることが意図されていない場合 (SQL UPDATE クエリなど) は、adExecuteNoRecords オプションが指定されている限り、プロバイダーからは Nothing が返されます。それ以外の場合、Execute は閉じたRecordset を返します。 Recordset が必要ない場合、一部のアプリケーション言語ではこの戻り値を無視できます。

CommandTypeadCmdStoredProcadCmdTable、または adCmdTableDirect のときにユーザーが CommandStream の値を指定すると、Execute によってエラーが発生します。

クエリにパラメーターがある場合、Execute 呼び出しで渡されるパラメーター値でオーバーライドしない限り、Command オブジェクトのパラメーターの現在値が使用されます。 Execute メソッドを呼び出すときに一部のパラメーターの新しい値を省略することで、パラメーターのサブセットをオーバーライドできます。 パラメーターを指定する順序は、メソッドでそれらを渡すのと同じ順序です。 たとえば、4 つ (以上) のパラメーターがあり、1 番目と 4 番目のパラメーターのみで新しい値を渡す場合は、Array(var1,,,var4)Parameters 引数として を渡します。

注意

Parameters 引数で渡された場合、出力パラメーターは正しい値を返しません。

この操作が完了すると、ExecuteComplete イベントが発行されます。

注意

URL を含むコマンドを発行する場合、http スキーマが使用されているものでは Microsoft OLE DB Provider for Internet Publishing が自動的に呼び出されます。 詳細については、「絶対 URL と相対 URL」を参照してください。

適用対象

Command オブジェクト (ADO)

参照

Execute、Requery、および Clear メソッドの例 (VB)
Execute、Requery、および Clear メソッドの例 (VBScript)
Execute、Requery、および Clear メソッドの例 (VC++)
CommandStream プロパティ (ADO)
CommandText プロパティ (ADO)
CommandTypeEnum
Execute メソッド (ADO Connection)
ExecuteComplete イベント (ADO)