Udostępnij za pośrednictwem


SqlCommand.EndExecuteNonQuery(IAsyncResult) Metoda

Definicja

Kończy asynchroniczne wykonywanie instrukcji Języka 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

Parametry

asyncResult
IAsyncResult

Element IAsyncResult zwrócony przez wywołanie metody BeginExecuteNonQuery().

Zwraca

Liczba wierszy, których dotyczy problem (takie samo zachowanie jak ExecuteNonQuery()).

Wyjątki

asyncResult parametr ma wartość null (Nothing w języku Microsoft Visual Basic)

EndExecuteNonQuery(IAsyncResult) była wywoływana więcej niż raz dla pojedynczego wykonania polecenia lub metoda została niezgodna z jej metodą wykonywania (na przykład kod wywoływany EndExecuteNonQuery(IAsyncResult) w celu ukończenia wykonywania wywołania metody BeginExecuteXmlReader().

Czas określony w CommandTimeout czasie, który upłynął, a operacja asynchroniczna określona z parametrem BeginExecuteNonQuery nie została ukończona.

-lub-

W niektórych sytuacjach IAsyncResult można ustawić IsCompleted wartość niepoprawnie. Jeśli tak się stanie i EndExecuteNonQuery(IAsyncResult) zostanie wywołana, funkcja EndExecuteNonQuery może zgłosić błąd SqlException, jeśli czas określony w CommandTimeout czasie, który upłynął, a operacja asynchroniczna określona z parametrem BeginExecuteNonQuery nie została ukończona. Aby rozwiązać tę sytuację, należy zwiększyć wartość CommandTimeout lub zmniejszyć pracę wykonywaną przez operację asynchroniczną.

Przykłady

Przykłady pokazujące użycie EndExecuteNonQuery metody można znaleźć w temacie BeginExecuteNonQuery.

Uwagi

Wywołanie metody BeginExecuteNonQuery w celu wykonania instrukcji Języka Transact-SQL wymaga wywołania EndExecuteNonQuery w celu ukończenia operacji. Jeśli proces wykonywania polecenia nie został jeszcze zakończony, ta metoda blokuje działanie do czasu zakończenia operacji. Użytkownicy mogą sprawdzić, czy polecenie zakończyło operację, używając IAsyncResult wystąpienia zwróconego przez metodę BeginExecuteNonQuery . Jeśli w wywołaniu metody BeginExecuteNonQueryokreślono procedurę wywołania zwrotnego , należy wywołać tę metodę.

Dotyczy

Zobacz też