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 vom Aufruf BeginExecuteNonQuery()von .
Gibt zurück
Die Anzahl der betroffenen Zeilen (dasselbe Verhalten wie ExecuteNonQuery()).
Ausnahmen
asyncResult Parameter ist NULL (Nothing in Microsoft Visual Basic)
EndExecuteNonQuery(IAsyncResult) wurde mehrmals für eine einzelne Befehlsausführung aufgerufen, oder die Methode stimmte nicht mit der Ausführungsmethode überein (z. B. der Code EndExecuteNonQuery(IAsyncResult) , der aufgerufen wurde, um die Ausführung eines Aufrufs abzuschließen BeginExecuteXmlReader().
Die in CommandTimeout Verstrichene angegebene Zeitspanne und der mit ihnen angegebene BeginExecuteNonQuery asynchrone Vorgang ist nicht abgeschlossen.
-oder-
In einigen Situationen IAsyncResult kann die Einstellung falsch festgelegt IsCompleted werden. Wenn dies auftritt und EndExecuteNonQuery(IAsyncResult) aufgerufen wird, könnte EndExecuteNonQuery einen SqlException-Fehler auslösen, wenn die in verstrichene Zeit und CommandTimeout der mit angegebene BeginExecuteNonQuery asynchrone Vorgang nicht abgeschlossen ist. Um diese Situation zu beheben, sollten Sie entweder den Wert von CommandTimeout erhöhen oder die Arbeit durch den asynchronen Vorgang verringern.
Beispiele
Beispiele für die Verwendung der EndExecuteNonQuery Methode finden Sie unter BeginExecuteNonQuery.
Hinweise
Wenn Sie BeginExecuteNonQuery aufrufen, um eine Transact-SQL-Anweisung auszuführen, müssen Sie EndExecuteNonQuery aufrufen, um den Vorgang abzuschließen. Wenn der Vorgang zum Ausführen 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 die IAsyncResult von der BeginExecuteNonQuery Methode zurückgegebene Instanz verwendet wird. Wenn im Aufruf BeginExecuteNonQueryeiner Rückrufprozedur eine Rückrufprozedur angegeben wurde, muss diese Methode aufgerufen werden.