Compartilhar via


SqlCeCommand.ExecuteNonQuery Method

Executa uma instrução SQL com relação à SqlCeConnection e retorna o número de linhas afetadas.

Namespace: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (em system.data.sqlserverce.dll)

Sintaxe

'Declaração
Public Overrides Function ExecuteNonQuery As Integer
public override int ExecuteNonQuery ()
public:
virtual int ExecuteNonQuery () override
public int ExecuteNonQuery ()
public override function ExecuteNonQuery () : int

Valor de retorno

O número de linhas afetadas.

Exceções

Tipo de exceção Condição
InvalidOperationException

A conexão não existe.

- ou -

A conexão não está aberta.

- ou -

Não é possível executar um comando com um contexto de transação diferente do contexto no qual a conexão foi inscrita originalmente.

Comentários

Você pode usar ExecuteNonQuery para executar operações de catálogo. Por exemplo, você pode usá-lo para consultar a estrutura de um banco de dados ou para criar objetos do banco de dados, como tabelas. Também é possível usar ExecuteNonQuery para alterar os dados em um banco de dados sem usar um DataSet, executando as instruções UPDATE, INSERT ou DELETE.

Importante

O ExecuteNonQuery não usa um cursor e, portanto, não coloca bloqueios no banco de dados. Se estiver emitindo um comando que exige um bloqueio, não use ExecuteNonQuery. Em vez disso, use ExecuteReader.

Para as instruções UPDATE, INSERT e DELETE, o valor de retorno é o número de linhas afetadas pelo comando. Para todas as outras instruções DML, o valor de retorno é -1.

Para instruções DDL, como CREATE TABLE ou ALTER TABLE, ou valor de retorno é 0.

Dica

Isso é diferente do comportamento do System.Data.SqlClient.

Exemplo

O exemplo a seguir cria um SqlCeCommand e o executa usando ExecuteNonQuery. É passada uma cadeia de caracteres que é uma instrução SQL (como UPDATE, INSERT ou DELETE) e uma cadeia de caracteres para conectar a fonte de dados.

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();

Segurança de thread

Quaisquer membros estáticos públicos (compartilhados no Microsoft Visual Basic) desse tipo são thread safe. Não há garantia de que qualquer membro de instância seja thread safe.

Plataformas

Plataformas de desenvolvimento

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
Informações de versão
.NET Framework e NET Compact Framework
Com suporte no 3.5
.NET Framework
Com suporte no 3.0
.NET Compact Framework e .Net Framework
Com suporte no 2.0

Consulte também

Referência

SqlCeCommand Class
SqlCeCommand Members
System.Data.SqlServerCe Namespace