SqlCommand.EndExecuteNonQuery(IAsyncResult) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.