SqlCommand.EndExecuteNonQuery(IAsyncResult) Methode

Definitie

Voltooit de asynchrone uitvoering van een Transact-SQL-instructie.

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

Parameters

asyncResult
IAsyncResult

De IAsyncResult geretourneerd door de aanroep naar BeginExecuteNonQuery().

Retouren

Het aantal rijen dat wordt beïnvloed (hetzelfde gedrag als ExecuteNonQuery()).

Uitzonderingen

asyncResult parameter is null (Nothing in Microsoft Visual Basic)

EndExecuteNonQuery(IAsyncResult) werd meer dan één keer aangeroepen voor het uitvoeren van één opdracht of de methode komt niet overeen met de uitvoeringsmethode (bijvoorbeeld de code die wordt aangeroepen EndExecuteNonQuery(IAsyncResult) om de uitvoering van een aanroep naar BeginExecuteXmlReader()te voltooien.

De hoeveelheid tijd die is opgegeven in CommandTimeout verstreken en de asynchrone bewerking waarmee BeginExecuteNonQuery is opgegeven, is niet voltooid.

– of –

In sommige situaties IAsyncResult kan dit op onjuiste wijze worden ingesteld IsCompleted . Als dit gebeurt en EndExecuteNonQuery(IAsyncResult) wordt aangeroepen, kan EndExecuteNonQuery een SqlException-fout veroorzaken als de hoeveelheid tijd die is opgegeven in CommandTimeout verstreken en de asynchrone bewerking waarmee BeginExecuteNonQuery is opgegeven, niet is voltooid. Om deze situatie te verhelpen, moet u de waarde van CommandTimeout verhogen of het werk verminderen dat wordt uitgevoerd door de asynchrone bewerking.

Voorbeelden

Zie voor voorbeelden waarin het gebruik van de EndExecuteNonQuery methode BeginExecuteNonQuerywordt gedemonstreerd.

Opmerkingen

Wanneer u BeginExecuteNonQuery aanroept om een Transact-SQL instructie uit te voeren, moet u EndExecuteNonQuery aanroepen om de bewerking te voltooien. Als het proces voor het uitvoeren van de opdracht nog niet is voltooid, wordt deze methode geblokkeerd totdat de bewerking is voltooid. Gebruikers kunnen controleren of de opdracht de bewerking heeft voltooid met behulp van het IAsyncResult exemplaar dat door de BeginExecuteNonQuery methode wordt geretourneerd. Als er een callback-procedure is opgegeven in de aanroep naar BeginExecuteNonQuery, moet deze methode worden aangeroepen.

Van toepassing op

Zie ook