SqlCommand.EndExecuteNonQuery(IAsyncResult) Metod

Definition

Slutför asynkron körning av en Transact-SQL-instruktion.

public:
 int EndExecuteNonQuery(IAsyncResult ^ asyncResult);
public int EndExecuteNonQuery(IAsyncResult asyncResult);
member this.EndExecuteNonQuery : IAsyncResult -> int
Public Function EndExecuteNonQuery (asyncResult As IAsyncResult) As Integer

Parametrar

asyncResult
IAsyncResult

Det IAsyncResult som returnerades av anropet till BeginExecuteNonQuery().

Returer

Antalet rader som påverkas (samma beteende som ExecuteNonQuery()).

Undantag

asyncResult parametern är null (Nothing i Microsoft Visual Basic)

EndExecuteNonQuery(IAsyncResult) anropades mer än en gång för en enda kommandokörning, eller så matchades metoden felaktigt mot dess körningsmetod (till exempel anropades koden EndExecuteNonQuery(IAsyncResult) för att slutföra körningen av ett anrop till BeginExecuteXmlReader().

Den tid som anges i CommandTimeout förflutit och den asynkrona åtgärd som angetts med BeginExecuteNonQuery är inte klar.

-eller-

I vissa situationer IAsyncResult kan ställas in på IsCompleted felaktigt. Om detta inträffar och EndExecuteNonQuery(IAsyncResult) anropas kan EndExecuteNonQuery generera ett SqlException-fel om den tid som anges i CommandTimeout förflutit och den asynkrona åtgärd som angetts med BeginExecuteNonQuery inte är klar. För att åtgärda den här situationen bör du antingen öka värdet för CommandTimeout eller minska det arbete som utförs av den asynkrona åtgärden.

Exempel

Exempel som visar användningen av metoden finns EndExecuteNonQueryi BeginExecuteNonQuery .

Kommentarer

När du anropar BeginExecuteNonQuery för att köra en Transact-SQL-instruktion måste du anropa EndExecuteNonQuery för att slutföra åtgärden. Om processen med att köra kommandot ännu inte har slutförts blockeras den här metoden tills åtgärden har slutförts. Användarna kan kontrollera att kommandot har slutfört åtgärden med hjälp av den IAsyncResult instans som returneras av BeginExecuteNonQuery metoden. Om en återanropsprocedur angavs i anropet till BeginExecuteNonQuerymåste den här metoden anropas.

Gäller för

Se även