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
Der IAsyncResult , der vom Aufruf von BeginExecuteNonQuery() zurückgegeben wird.
Gibt zurück
Die Anzahl der betroffenen Zeilen (das gleiche Verhalten wie ExecuteNonQuery() ).
Ausnahmen
asyncResult
-Parameter ist NULL ( Nothing
in Microsoft Visual Basic)
EndExecuteNonQuery(IAsyncResult) wurde für eine einzelne Befehlsausführung mehrmals aufgerufen, oder die Methode war mit ihrer Ausführungsmethode nicht übereinstimmend (z. B. der Code, der aufgerufen wurde EndExecuteNonQuery(IAsyncResult) , um die Ausführung eines Aufrufs von abzuschließen BeginExecuteXmlReader() .
Die in CommandTimeout angegebene Zeitspanne ist abgelaufen und der asynchrone Vorgang mit BeginExecuteNonQuery() wurde nicht abgeschlossen.
- oder -
In einigen Situationen IAsyncResult kann auf festgelegt werdenIsCompleted
Falsch. 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 Instanz verwenden. Wenn im Aufruf von BeginExecuteNonQuery()eine Rückrufprozedur angegeben wurde, muss diese Methode aufgerufen werden.