SqlCommand::EndExecuteNonQuery Method (IAsyncResult^)
Finishes asynchronous execution of a Transact-SQL statement.
Assembly: System.Data (in System.Data.dll)
Parameters
- asyncResult
-
Type:
System::IAsyncResult^
The IAsyncResult returned by the call to BeginExecuteNonQuery.
| Exception | Condition |
|---|---|
| ArgumentException | asyncResult parameter is null (Nothing in Microsoft Visual Basic) |
| InvalidOperationException | EndExecuteNonQuery was called more than once for a single command execution, or the method was mismatched against its execution method (for example, the code called EndExecuteNonQuery to complete execution of a call to BeginExecuteXmlReader. |
| SqlException | The amount of time specified in CommandTimeout elapsed and the asynchronous operation specified with BeginExecuteNonQuery is not complete. In some situations, IAsyncResult can be set to IsCompleted incorrectly. If this occurs and EndExecuteNonQuery is called, EndExecuteNonQuery could raise a SqlException error if the amount of time specified in CommandTimeout elapsed and the asynchronous operation specified with BeginExecuteNonQuery is not complete. To correct this situation, you should either increase the value of CommandTimeout or reduce the work being done by the asynchronous operation. |
When you call BeginExecuteNonQuery to execute a Transact-SQL statement, you must call EndExecuteNonQuery in order to complete the operation. If the process of executing the command has not yet finished, this method blocks until the operation is complete. Users can verify that the command has completed its operation by using the IAsyncResult instance returned by the BeginExecuteNonQuery method. If a callback procedure was specified in the call to BeginExecuteNonQuery, this method must be called.
For examples demonstrating the use of the EndExecuteNonQuery method, see BeginExecuteNonQuery.
Available since 2.0