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
BeginExecuteNonQuery()の呼び出しによって返されるIAsyncResult。
返品
影響を受ける行の数 ( ExecuteNonQuery()と同じ動作)。
例外
asyncResult パラメーターが null (Microsoft Visual Basic では Nothing) です
EndExecuteNonQuery(IAsyncResult)が 1 回のコマンド実行に対して複数回呼び出された場合、またはメソッドがその実行メソッド (たとえば、BeginExecuteXmlReader()の呼び出しの実行を完了するためにEndExecuteNonQuery(IAsyncResult)呼び出されたコード) と一致していません。
CommandTimeoutで指定された時間が経過し、BeginExecuteNonQueryで指定された非同期操作が完了していません。
-または-
状況によっては、 IAsyncResult が正しく IsCompleted に設定されていない可能性があります。 これが発生し、 EndExecuteNonQuery(IAsyncResult) が呼び出された場合、EndExecuteNonQuery は、 CommandTimeout で指定された時間が経過し、 BeginExecuteNonQuery で指定された非同期操作が完了していない場合に、SqlException エラーを発生させる可能性があります。 この状況を修正するには、CommandTimeout の値を大きくするか、非同期操作によって実行される作業を減らす必要があります。
例
EndExecuteNonQuery メソッドの使用例については、BeginExecuteNonQueryを参照してください。
注釈
BeginExecuteNonQuery を呼び出して Transact-SQL ステートメントを実行する場合は、操作を完了するために EndExecuteNonQuery を呼び出す必要があります。 コマンドの実行プロセスがまだ完了していない場合、このメソッドは操作が完了するまでブロックします。 ユーザーは、BeginExecuteNonQuery メソッドによって返されたIAsyncResult インスタンスを使用して、コマンドが操作を完了したことを確認できます。 BeginExecuteNonQueryの呼び出しでコールバック プロシージャが指定された場合は、このメソッドを呼び出す必要があります。