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
Zwrócony IAsyncResult przez wywołanie do 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) wywołano więcej niż raz dla pojedynczego wykonania polecenia lub metoda została niezgodna z jego metodą wykonywania (na przykład kod wywoływany EndExecuteNonQuery(IAsyncResult) w celu ukończenia wykonywania wywołania metody BeginExecuteXmlReader() .
Czas określony w czasie, który CommandTimeout upłynął, a operacja asynchroniczna określona za pomocą BeginExecuteNonQuery() polecenia nie została ukończona.
-lub-
W niektórych sytuacjach IAsyncResult można ustawić wartość naIsCompleted
Niepoprawnie. Jeśli tak się dzieje i EndExecuteNonQuery(IAsyncResult) jest wywoływana, funkcja EndExecuteNonQuery może zgłosić błąd SqlException, jeśli czas określony w CommandTimeout upływie, a operacja asynchroniczna określona za pomocą BeginExecuteNonQuery() polecenia nie zostanie ukończona. Aby rozwiązać tę sytuację, należy zwiększyć wartość polecenia 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 wywołania 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 momentu ukończenia operacji. Użytkownicy mogą sprawdzić, czy polecenie zakończyło swoją operację, używając IAsyncResult wystąpienia zwróconego przez metodę BeginExecuteNonQuery() . Jeśli wywołanie zwrotne zostało określone w wywołaniu metody BeginExecuteNonQuery(), należy wywołać tę metodę.