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) が呼び出された場合、CommandTimeout で指定された時間が経過したにもかかわらず BeginExecuteNonQuery で指定した非同期操作が完了していないと、EndExecuteNonQuery が SqlException エラーを発生させることがあります。 このような状況を修正するには、CommandTimeout の値を大きくするか、非同期操作で実行されている作業を軽減する必要があります。
例
メソッドの使用 EndExecuteNonQuery 例については、「」を参照してください BeginExecuteNonQuery。
注釈
を呼び出 BeginExecuteNonQuery して Transact-SQL ステートメントを実行する場合は、 を呼び出 EndExecuteNonQuery して操作を完了する必要があります。 コマンドを実行するプロセスがまだ完了していない場合、このメソッドは操作が完了するまでブロックします。 ユーザーは、 メソッドによって返されるインスタンスを使用して、コマンドが操作をIAsyncResultBeginExecuteNonQuery完了したことを確認できます。 への呼び出しでコールバック プロシージャが指定されている場合は、このメソッドを BeginExecuteNonQuery呼び出す必要があります。
適用対象
こちらもご覧ください
.NET