SqlCommand.ExecuteNonQuery 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.
Führt eine Transact-SQL-Anweisung für die Verbindung aus und gibt die Anzahl der betroffenen Zeilen zurück.
public:
virtual int ExecuteNonQuery();
public:
override int ExecuteNonQuery();
public int ExecuteNonQuery();
public override int ExecuteNonQuery();
abstract member ExecuteNonQuery : unit -> int
override this.ExecuteNonQuery : unit -> int
override this.ExecuteNonQuery : unit -> int
Public Function ExecuteNonQuery () As Integer
Public Overrides Function ExecuteNonQuery () As Integer
Gibt zurück
Die Anzahl der betroffenen Zeilen.
Implementiert
Ausnahmen
Eine SqlDbType andere als Binary oder VarBinary wurde verwendet, als Value auf Stream. Weitere Informationen zum Streaming finden Sie unter SqlClient Streaming Support.
-oder-
Eine SqlDbType andere als Char, NChar, NVarChar, VarChar oder Xml wurde verwendet, als Value festgelegt TextReaderwurde.
-oder-
Eine SqlDbType andere als XML wurde verwendet, als Value auf XmlReader".
Ausnahme beim Ausführen des Befehls für eine gesperrte Zeile. Diese Ausnahme wird nicht generiert, wenn Sie Microsoft .NET Framework, Version 1.0 verwenden.
-oder-
Während eines Streamingvorgangs ist ein Timeout aufgetreten. Weitere Informationen zum Streaming finden Sie unter SqlClient Streaming Support.
Fehler in einem StreamOder XmlReaderTextReader Objekt während eines Streamingvorgangs. Weitere Informationen zum Streaming finden Sie unter SqlClient Streaming Support.
Das SqlConnection Schließen oder Ablegen während eines Streamingvorgangs. Weitere Informationen zum Streaming finden Sie unter SqlClient Streaming Support.
Das StreamObjekt XmlReader wurde TextReader während eines Streamingvorgangs geschlossen. Weitere Informationen zum Streaming finden Sie unter SqlClient Streaming Support.
Beispiele
Im folgenden Beispiel wird ein SqlCommand Und dann mithilfe ExecuteNonQueryvon . Das Beispiel wird eine Zeichenfolge übergeben, die eine Transact-SQL-Anweisung (z. B. UPDATE, INSERT oder DELETE) ist, und eine Zeichenfolge, die zum Herstellen einer Verbindung mit der Datenquelle verwendet werden soll.
private static void CreateCommand(string queryString,
string connectionString)
{
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
command.Connection.Open();
command.ExecuteNonQuery();
}
}
Public Sub CreateCommand(ByVal queryString As String, _
ByVal connectionString As String)
Using connection As New SqlConnection(connectionString)
Dim command As New SqlCommand(queryString, connection)
command.Connection.Open()
command.ExecuteNonQuery()
End Using
End Sub
Hinweise
Sie können die Katalogoperationen (z. B. Abfragen der Struktur einer Datenbank oder Erstellen von Datenbankobjekten wie Tabellen) oder zum Ändern der Daten in einer Datenbank ohne Verwendung DataSet durch Ausführen von UPDATE-, INSERT- oder DELETE-Anweisungen verwendenExecuteNonQuery.
Obwohl die ExecuteNonQuery Rückgabe keine Zeilen zurückgibt, werden alle Ausgabeparameter oder Rückgabewerte, die Parametern zugeordnet sind, mit Daten aufgefüllt.
Für UPDATE-, INSERT- und DELETE-Anweisungen ist der Rückgabewert die Anzahl der zeilen, die vom Befehl betroffen sind. Für alle anderen Arten von Anweisungen lautet der Rückgabewert -1.
Wenn ein Trigger für eine eingefügte oder aktualisierte Tabelle vorhanden ist, enthält der Rückgabewert die Anzahl der Zeilen, die sowohl vom Einfüge- oder Aktualisierungsvorgang betroffen sind, als auch die Anzahl der Zeilen, die von den Triggern oder Triggern betroffen sind.
Wenn SET NOCOUNT ON für die Verbindung festgelegt wird (vor oder als Teil der Ausführung des Befehls oder als Teil eines Triggers, der durch die Ausführung des Befehls initiiert wird), tragen die zeilen, die von einzelnen Anweisungen betroffen sind, nicht mehr zur Anzahl der von dieser Methode zurückgegebenen Zeilen bei.
Wenn keine Anweisungen erkannt werden, die zur Anzahl beitragen, lautet der Rückgabewert -1. Wenn ein Rollback auftritt, lautet der Rückgabewert auch -1.