Compartir a través de


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