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

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ę.

Dotyczy