SqlCommand.EndExecuteNonQuery(IAsyncResult) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Dokončí asynchronní provádění transact-SQL příkaz.
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
Hodnota IAsyncResult vrácená voláním metody BeginExecuteNonQuery() .
Návraty
Počet ovlivněných řádků (stejné chování jako ExecuteNonQuery() ).
Výjimky
asyncResult
parametr má hodnotu null ( Nothing
v jazyce Microsoft Visual Basic)
EndExecuteNonQuery(IAsyncResult) byla volána více než jednou pro spuštění jednoho příkazu nebo byla metoda neshodována s metodou provádění (například kód volaný EndExecuteNonQuery(IAsyncResult) k dokončení provádění volání metody BeginExecuteXmlReader() ).
Doba zadaná v CommandTimeout uplynulé době a asynchronní operace zadané parametrem BeginExecuteNonQuery() není dokončena.
-nebo-
V některých situacích IAsyncResult je možné nastavit naIsCompleted
Nesprávně. Pokud k tomu dojde a EndExecuteNonQuery(IAsyncResult) je volána, EndExecuteNonQuery může vyvolat chybu SqlException, pokud uplynula doba CommandTimeout a asynchronní operace zadaná pomocí 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í metody najdete v EndExecuteNonQuery tématu BeginExecuteNonQuery().
Poznámky
Při volání BeginExecuteNonQuery() provést transact-SQL příkaz, musíte volat EndExecuteNonQuery , aby se operace dokončila. Pokud proces spuštění příkazu ještě neskončil, tato metoda blokuje, dokud se operace nedokončí. Uživatelé můžou ověřit, že příkaz dokončil svoji operaci, pomocí IAsyncResult instance vrácené metodou BeginExecuteNonQuery() . Pokud byla ve volání zadána procedura zpětného BeginExecuteNonQuery()volání , musí být volána tato metoda.