SqlCommand.EndExecuteNonQuery(IAsyncResult) Metoda

Definice

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

Hodnota IAsyncResult vrácená voláním BeginExecuteNonQuery().

Návraty

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

Výjimky

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

EndExecuteNonQuery(IAsyncResult) byl volána více než jednou pro spuštění jednoho příkazu nebo se metoda neshodovala s metodou provádění (například kód volaný EndExecuteNonQuery(IAsyncResult) k dokončení spuštění volání BeginExecuteXmlReader()příkazu .

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

-nebo-

V některých situacích IAsyncResult může být nesprávně nastavena na IsCompleted hodnotu. Pokud k tomu dojde a EndExecuteNonQuery(IAsyncResult) je volána, EndExecuteNonQuery může vyvolat chybu SqlException, pokud uplynula doba a CommandTimeout asynchronní operace zadaná pomocí BeginExecuteNonQuery není dokončena. Chcete-li tuto situaci vyřešit, 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 ke spuštění příkazu Jazyka Transact-SQL je nutné volat EndExecuteNonQuery , aby se operace dokončila. Pokud se proces spuštění příkazu ještě nedokončil, tato metoda blokuje, dokud se operace nedokončí. Uživatelé můžou ověřit, že příkaz dokončil svou operaci pomocí IAsyncResult instance vrácené metodou BeginExecuteNonQuery . Pokud byla ve volání BeginExecuteNonQueryzadána procedura zpětného volání , musí být volána tato metoda.

Platí pro

Viz také