Dela via


SqlCommand.EndExecuteNonQuery(IAsyncResult) Method

Definition

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.

Applies to