SqlCommand.EndExecuteNonQuery(IAsyncResult) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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ę.