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, этот метод должен вызываться.