SqlCommand.EndExecuteNonQuery(IAsyncResult) Metoda

Definice

Dokončí asynchronní spuštění příkazu 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

Vrácená IAsyncResult voláním BeginExecuteNonQuery().

Návraty

Počet ovlivněných řádků (stejné chování jako ExecuteNonQuery()).

Výjimky

parametr asyncResult má hodnotu null (Nothing v Microsoft Visual Basic)

EndExecuteNonQuery(IAsyncResult) byla volána více než jednou pro provedení jednoho příkazu nebo byla metoda neshodována s jeho metodou provádění (například kód volaný EndExecuteNonQuery(IAsyncResult) k dokončení provádění volání BeginExecuteXmlReader().

Doba zadaná v CommandTimeout uplynulé době a asynchronní operace zadaná BeginExecuteNonQuery pomocí není dokončena.

nebo

V některých situacích je možné nastavit nesprávně IAsyncResultIsCompleted . Pokud k tomu dojde a EndExecuteNonQuery(IAsyncResult) je volána, EndExecuteNonQuery může vyvolat chybu SqlException, pokud doba zadaná v CommandTimeout uplynulé době a asynchronní operace zadaná s BeginExecuteNonQuery není dokončena. Chcete-li tuto situaci opravit, měli byste buď zvýšit hodnotu CommandTimeout, nebo snížit práci prováděnou asynchronní operací.

Příklady

Příklady demonstrující použití EndExecuteNonQuery metody najdete v tématu BeginExecuteNonQuery.

Poznámky

Při volání BeginExecuteNonQuery ke spuštění příkazu Transact-SQL je nutné volat EndExecuteNonQuery, aby bylo možné operaci dokončit. Pokud proces spuštění příkazu ještě není dokončen, tato metoda blokuje, dokud se operace nedokončí. Uživatelé mohou ověřit, že příkaz dokončil svou operaci pomocí IAsyncResult instance vrácené metodou BeginExecuteNonQuery . Pokud byla procedura zpětného volání zadána ve volání BeginExecuteNonQuery, musí být volána tato metoda.

Platí pro

Viz také