Compartilhar via


Classe SqlCeCommand

Representa uma instrução SQL a ser executada com relação a uma fonte de dados.

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

Sintaxe

'Declaração
Public NotInheritable Class SqlCeCommand _
    Inherits DbCommand _
    Implements ICloneable
'Uso
Dim instance As SqlCeCommand
public sealed class SqlCeCommand : DbCommand, 
    ICloneable
public ref class SqlCeCommand sealed : public DbCommand, 
    ICloneable
[<SealedAttribute>]
type SqlCeCommand =  
    class
        inherit DbCommand
        interface ICloneable
    end
public final class SqlCeCommand extends DbCommand implements ICloneable

Comentários

Ao criar uma instância do SqlCeCommand, as propriedades de leitura/gravação são definidas com seus valores iniciais. Para obter uma lista desses valores, consulte o construtor do SqlCeCommand.

O SqlCeCommand apresenta os seguintes métodos que executam comandos em uma fonte de dados:

Item

Descrição

ExecuteReader

Executa comandos que retornam linhas.

ExecuteNonQuery

Executa comandos SQL, como as instruções INSERT, DELETE e UPDATE.

ExecuteScalar

Recupera um único valor (por exemplo, um valor agregado) de um banco de dados.

ExecuteResultSet

Executa comandos e retorna um conjunto de resultados.

O Provedor de Dados do SQL Server Compact 3.5 não dá suporte a consultas em lotes. Os comandos devem estar na seguinte forma:

Select * from CustomersSelect * from Customers e não Select * from Customers; Select * from Orders;Select * from Customers; Select * from Orders;

Se estiver usando código gerado para o System.Data.SqlClient, talvez seja necessário alterar suas consultas para que estejam de acordo com essa restrição.

O SQL Server Compact 3.5 dá suporte a várias conexões simultâneas, assim como a vários comandos que compartilham a mesma conexão. Isso significa que é possível ter várias instâncias do SqlCeDataReader na mesma conexão. Esse comportamento é diferente do comportamento do System.Data.SqlClient.

Se uma SqlCeException fatal for gerada pelo método que executa um SqlCeCommand, a SqlCeConnection poderá ser fechada. Você pode reabrir a conexão e continuar.

Exemplos

O exemplo a seguir usa o SqlCeCommand, juntamente com a SqlCeConnection, para selecionar linhas de um banco de dados.

Dim query As String = "SELECT [Order ID], [Customer] FROM Orders"
Dim conn As New SqlCeConnection(connString)
Dim cmd As New SqlCeCommand(query, conn)

conn.Open()
Dim rdr As SqlCeDataReader = cmd.ExecuteReader()

Try
    ' Iterate through the results
    '
    While rdr.Read()
        Dim val1 As Integer = rdr.GetInt32(0)
        Dim val2 As String = rdr.GetString(1)
    End While
Finally
    ' Always call Close when done reading
    '
    rdr.Close()

    ' Always call Close when done reading
    '
    conn.Close()
End Try
string query = "SELECT [Order ID], [Customer] FROM Orders";
SqlCeConnection conn = new SqlCeConnection(connString);
SqlCeCommand cmd = new SqlCeCommand(query, conn);

conn.Open();
SqlCeDataReader rdr = cmd.ExecuteReader();

try
{
    // Iterate through the results
    //
    while (rdr.Read())
    {
        int val1 = rdr.GetInt32(0);
        string val2 = rdr.GetString(1);
    }
}
finally
{
    // Always call Close when done reading
    //
    rdr.Close();

    // Always call Close when done reading
    //
    conn.Close();
}

Hierarquia de herança

System. . :: . .Object
  System. . :: . .MarshalByRefObject
    System.ComponentModel. . :: . .Component
      System.Data.Common. . :: . .DbCommand
        System.Data.SqlServerCe..::..SqlCeCommand

Segurança de thread

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Consulte também

Referência

Membros SqlCeCommand

Namespace System.Data.SqlServerCe

SqlCeDataAdapter

SqlCeConnection