SqlCommand.EndExecuteNonQuery(IAsyncResult) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Beendet die asynchrone Ausführung einer Transact-SQL-Anweisung.
public:
int EndExecuteNonQuery(IAsyncResult ^ asyncResult);
public int EndExecuteNonQuery (IAsyncResult asyncResult);
member this.EndExecuteNonQuery : IAsyncResult -> int
Public Function EndExecuteNonQuery (asyncResult As IAsyncResult) As Integer
Parameter
- asyncResult
- IAsyncResult
Das IAsyncResult-Ergebnis, das durch den Aufruf von BeginExecuteNonQuery() zurückgegeben wird.
Gibt zurück
Die Anzahl der betroffenen Zeilen (das gleiche Verhalten wie ExecuteNonQuery()).
Ausnahmen
asyncResult
-Parameter ist 0 (null) (Nothing
in Microsoft Visual Basic)
EndExecuteNonQuery(IAsyncResult) wurde für eine einzelne Befehlsausführung mehr als einmal aufgerufen, oder die Methode und ihre Ausführungsmethode stimmen nicht überein (z. B. hat der Code EndExecuteNonQuery(IAsyncResult) aufgerufen, um die Ausführung eines Aufrufs von BeginExecuteXmlReader() abzuschließen.
Die in CommandTimeout angegebene Zeitspanne ist abgelaufen und der asynchrone Vorgang mit BeginExecuteNonQuery wurde nicht abgeschlossen.
- oder -
In einigen Situationen kann IAsyncResult fälschlicherweise auf IsCompleted
festgelegt werden. Wenn dies der Fall ist und EndExecuteNonQuery(IAsyncResult) aufgerufen wird, könnte „EndExecuteNonQuery“ einen SqlException-Fehler auslösen, wenn die in CommandTimeout angegebene Zeitspanne abgelaufen ist und der asynchrone Vorgang mit BeginExecuteNonQuery nicht abgeschlossen wurde. Um dieses Problem zu beheben, sollten Sie entweder den Wert von „CommandTimeout“ erhöhen oder die vom asynchronen Vorgang zu erledigende Arbeit reduzieren.
Beispiele
Beispiele für die Verwendung der EndExecuteNonQuery -Methode finden Sie unter BeginExecuteNonQuery.
Hinweise
Wenn Sie zum Ausführen einer Transact-SQL-Anweisung aufrufen BeginExecuteNonQuery , müssen Sie aufrufen EndExecuteNonQuery , um den Vorgang abzuschließen. Wenn der Prozess der Ausführung des Befehls noch nicht abgeschlossen ist, wird diese Methode blockiert, bis der Vorgang abgeschlossen ist. Benutzer können überprüfen, ob der Befehl seinen Vorgang abgeschlossen hat, indem sie die von der IAsyncResultBeginExecuteNonQuery -Methode zurückgegebene instance verwenden. Wenn im Aufruf von BeginExecuteNonQueryeine Rückrufprozedur angegeben wurde, muss diese Methode aufgerufen werden.