SqlCommand.EndExecuteNonQuery(IAsyncResult) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Transact-SQL ステートメントの非同期実行を完了します。
public:
int EndExecuteNonQuery(IAsyncResult ^ asyncResult);
public int EndExecuteNonQuery (IAsyncResult asyncResult);
member this.EndExecuteNonQuery : IAsyncResult -> int
Public Function EndExecuteNonQuery (asyncResult As IAsyncResult) As Integer
パラメーター
- asyncResult
- IAsyncResult
IAsyncResultへのBeginExecuteNonQuery()呼び出しによって返される 。
戻り値
影響を受ける行の数 (と同じ動作 ExecuteNonQuery() )。
例外
asyncResult
パラメーターが null ( Nothing
Microsoft Visual Basic の場合)
EndExecuteNonQuery(IAsyncResult)が 1 回のコマンド実行に対して複数回呼び出されたか、メソッドがその実行メソッドと一致していません (たとえば、 への呼び出しの実行を完了するために 呼び出BeginExecuteXmlReader()されたEndExecuteNonQuery(IAsyncResult)コード)。
CommandTimeout で指定された時間が経過しましたが、BeginExecuteNonQuery() で指定された非同期操作が完了していません。
- または -
状況によっては、 IAsyncResult を に設定できます。IsCompleted
誤って。 これが発生して EndExecuteNonQuery(IAsyncResult) が呼び出された場合、CommandTimeout で指定された時間が経過したにもかかわらず BeginExecuteNonQuery() で指定した非同期操作が完了していないと、EndExecuteNonQuery が SqlException エラーを発生させることがあります。 このような状況を修正するには、CommandTimeout の値を大きくするか、非同期操作で実行されている作業を軽減する必要があります。
例
メソッドの使用 EndExecuteNonQuery 例については、「」を参照してください BeginExecuteNonQuery()。
注釈
を呼び出 BeginExecuteNonQuery() して Transact-SQL ステートメントを実行する場合は、 を呼び出 EndExecuteNonQuery して操作を完了する必要があります。 コマンドを実行するプロセスがまだ完了していない場合、このメソッドは操作が完了するまでブロックします。 ユーザーは、 メソッドによって返されるインスタンスを使用して、コマンドが操作をIAsyncResultBeginExecuteNonQuery()完了したことを確認できます。 への呼び出しでコールバック プロシージャが指定されている場合は、このメソッドを BeginExecuteNonQuery()呼び出す必要があります。