SqlCommand.EndExecuteNonQuery(IAsyncResult) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Finishes asynchronous execution of a Transact-SQL statement.
public:
int EndExecuteNonQuery(IAsyncResult ^ asyncResult);
public int EndExecuteNonQuery (IAsyncResult asyncResult);
member this.EndExecuteNonQuery : IAsyncResult -> int
Public Function EndExecuteNonQuery (asyncResult As IAsyncResult) As Integer
Parameters
- asyncResult
- IAsyncResult
The IAsyncResult returned by the call to BeginExecuteNonQuery().
Returns
The number of rows affected (the same behavior as ExecuteNonQuery()).
Exceptions
asyncResult
parameter is null (Nothing
in Microsoft Visual Basic)
EndExecuteNonQuery(IAsyncResult) 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(IAsyncResult) to complete execution of a call to BeginExecuteXmlReader().
The amount of time specified in CommandTimeout elapsed and the asynchronous operation specified with BeginExecuteNonQuery is not complete.
-or-
In some situations, IAsyncResult can be set to IsCompleted
incorrectly. If this occurs and EndExecuteNonQuery(IAsyncResult) 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.
Examples
For examples demonstrating the use of the EndExecuteNonQuery method, see BeginExecuteNonQuery.
Remarks
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.