SqlCeCommand.ExecuteNonQuery Method
Ejecuta una instrucción SQL en SqlCeConnection y devuelve el número de filas afectadas.
Espacio de nombres: System.Data.SqlServerCe
Ensamblado: System.Data.SqlServerCe (en system.data.sqlserverce.dll)
Sintaxis
'Declaración
Public Overrides Function ExecuteNonQuery As Integer
public override int ExecuteNonQuery ()
public:
virtual int ExecuteNonQuery () override
public int ExecuteNonQuery ()
public override function ExecuteNonQuery () : int
Valor devuelto
Número de filas afectadas.
Excepciones
Tipo de excepción | Condición |
---|---|
InvalidOperationException | La conexión no existe. O bien La conexión no está abierta. O bien No se puede ejecutar un comando en un contexto de transacción distinto al contexto en que se dio de alta la conexión originalmente. |
Notas
ExecuteNonQuery se puede utilizar para llevar a cabo operaciones de catálogo. Por ejemplo, se puede utilizar para hacer consultas sobre la estructura de una base de datos o para crear objetos de bases de datos, como tablas. ExecuteNonQuery se puede utilizar también para modificar los datos de una base de datos sin utilizar DataSet mediante la ejecución de instrucciones UPDATE, INSERT o DELETE.
Importante
ExecuteNonQuery no utiliza un cursor y, por consiguiente, no aplica bloqueos a la base de datos. Si desea emitir un comando que requiere un bloqueo, no utilice ExecuteNonQuery. Utilice en su lugar ExecuteReader.
Para las instrucciones UPDATE, INSERT y DELETE, el valor devuelto corresponde al número de filas afectadas por el comando. Para el resto de instrucciones DML, el valor devuelto es -1.
Para las instrucciones DDL, como CREATE TABLE o ALTER TABLE, el valor devuelto es 0.
Nota
Este comportamiento no es el mismo que el de System.Data.SqlClient.
Ejemplo
En el siguiente ejemplo se crea un SqlCeCommand y, a continuación, se ejecuta mediante ExecuteNonQuery. En el ejemplo se pasa una cadena que es una instrucción SQL (como UPDATE, INSERT o DELETE) y una cadena para conectarse al origen de datos.
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();
Seguridad para subprocesos
Todos los miembros (Compartidos en Microsoft Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.
Plataformas
Plataformas de desarrollo
Windows Vista, Windows Mobile 5.0, Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Mobile 2003 for Pocket PC, Windows CE 5.0
Información de la versión
.NET Framework y NET Compact Framework
Se admite en 3.5
.NET Framework
Se admite en 3.0
.NET Compact Framework y .Net Framework
Se admite en 2.0
Vea también
Referencia
SqlCeCommand Class
SqlCeCommand Members
System.Data.SqlServerCe Namespace