Поделиться через


SqlCommand.EndExecuteNonQuery(IAsyncResult) Метод

Определение

Завершает асинхронное выполнение инструкции 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

Объект , IAsyncResult возвращаемый вызовом BeginExecuteNonQuery() .

Возвращаемое значение

Количество затронутых строк (то же поведение, что и ExecuteNonQuery() ).

Исключения

asyncResult параметр имеет значение NULL ( Nothing в Microsoft Visual Basic)

EndExecuteNonQuery(IAsyncResult) был вызван несколько раз для выполнения одной команды или метод не совпадал с методом выполнения (например, код, вызываемый EndExecuteNonQuery(IAsyncResult) для завершения выполнения вызова BeginExecuteXmlReader() .

Время, указанное в CommandTimeout, истекло, а асинхронная операция, указанная с BeginExecuteNonQuery(), не завершена.

-или-

В некоторых ситуациях IAsyncResult можно задать значениеIsCompleted Неправильно. Если это произошло и вызывается EndExecuteNonQuery(IAsyncResult), метод EndExecuteNonQuery может вызвать ошибку SqlException, если время, указанное в CommandTimeout, истекло, а асинхронная операция, указанная с BeginExecuteNonQuery(), не завершена. Чтобы исправить эту ситуацию, следует увеличить значение CommandTimeout или уменьшить объем обработки, выполняемой асинхронной операцией.

Примеры

Примеры, демонстрирующие использование метода , см. в EndExecuteNonQuery разделе BeginExecuteNonQuery().

Комментарии

При вызове BeginExecuteNonQuery() для выполнения инструкции Transact-SQL необходимо вызвать EndExecuteNonQuery , чтобы завершить операцию. Если процесс выполнения команды еще не завершен, этот метод блокируется до завершения операции. Пользователи могут убедиться, что команда завершила свою операцию, используя экземпляр, IAsyncResult возвращенный методом BeginExecuteNonQuery() . Если в вызове BeginExecuteNonQuery()указана процедура обратного вызова , необходимо вызвать этот метод.

Применяется к