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()указана процедура обратного вызова , необходимо вызвать этот метод.