Freigeben über


SqlCeCommand.ExecuteNonQuery-Methode

Führt eine SQL-Anweisung für die SqlCeConnection-Klasse aus und gibt die Anzahl der betroffenen Zeilen zurück.

Namespace:  System.Data.SqlServerCe
Assembly:  System.Data.SqlServerCe (in System.Data.SqlServerCe.dll)

Syntax

'Declaration
Public Overrides Function ExecuteNonQuery As Integer
'Usage
Dim instance As SqlCeCommand
Dim returnValue As Integer

returnValue = instance.ExecuteNonQuery()
public override int ExecuteNonQuery()
public:
virtual int ExecuteNonQuery() override
abstract ExecuteNonQuery : unit -> int 
override ExecuteNonQuery : unit -> int 
public override function ExecuteNonQuery() : int

Rückgabewert

Typ: System.Int32
Die Anzahl der betroffenen Zeilen.

Implementiert

IDbCommand.ExecuteNonQuery()

Ausnahmen

Ausnahme Bedingung
InvalidOperationException

Die Verbindung ist nicht vorhanden.

-oder-

Die Verbindung ist nicht offen.

-oder-

Ein Befehl in einem Transaktionskontext, der von dem Kontext abweicht, in dem die Verbindung ursprünglich eingetragen wurde, kann nicht ausführt werden.

Hinweise

Zum Ausführen von Katalogoperationen können Sie die ExecuteNonQuery-Methode verwenden. Sie können damit z. B die Struktur einer Datenbank abfragen oder Datenbankobjekte erstellen, z. B. Tabellen. Sie können mithilfe der ExecuteNonQuery-Methode auch die Daten in einer Datenbank ändern, ohne eine DataSet-Klasse zu verwenden, indem Sie die Anweisungen UPDATE, INSERT oder DELETE ausführen.

Wichtig

Die ExecuteNonQuery-Methode verwendet keinen Cursor und belegt die Datenbank deshalb nicht mit einer Sperre. Wenn Sie einen Befehl ausgeben, für den eine Sperre erforderlich ist, verwenden Sie nicht die ExecuteNonQuery-Methode. Verwenden Sie stattdessen die ExecuteReader-Methode.

Bei den Anweisungen UPDATE, INSERT und DELETE ist der Rückgabewert die Anzahl der vom Befehl betroffenen Zeilen. Bei allen anderen DML-Anweisungen ist der Rückgabewert -1.

Bei DDL-Anweisungen wie CREATE TABLE oder ALTER TABLE ist der Rückgabewert 0.

Hinweis

Dieses Verhalten unterscheidet sich von dem des System.Data.SqlClient-Namespace.

Beispiele

Im folgenden Beispiel wird eine SqlCeCommand-Klasse erstellt und anschließend mit der ExecuteNonQuery-Methode ausgeführt. Im Beispiel werden eine Zeichenfolge, die eine SQL-Anweisung (wie UPDATE, INSERT oder DELETE) ist, sowie eine Zeichenfolge, mit der eine Verbindung mit der Datenquelle erstellt werden soll, übergeben.

conn.Open()
Dim cmd As New SqlCeCommand("INSERT INTO foo (col1) VALUES (1)", conn)
cmd.ExecuteNonQuery()
conn.Close()
conn.Open();
SqlCeCommand cmd = new SqlCeCommand("INSERT INTO foo (col1) VALUES (1)", conn);
cmd.ExecuteNonQuery();
conn.Close();

Siehe auch

Verweis

SqlCeCommand Klasse

System.Data.SqlServerCe-Namespace