Compartilhar via


SqlCeCommand.ExecuteReader Method (CommandBehavior)

Envia o CommandText à Connection e cria um SqlCeDataReader usando um dos valores de CommandBehavior.

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

Sintaxe

'Declaração
Public Function ExecuteReader ( _
    behavior As CommandBehavior _
) As SqlCeDataReader
public SqlCeDataReader ExecuteReader (
    CommandBehavior behavior
)
public:
SqlCeDataReader^ ExecuteReader (
    CommandBehavior behavior
)
public SqlCeDataReader ExecuteReader (
    CommandBehavior behavior
)
public function ExecuteReader (
    behavior : CommandBehavior
) : SqlCeDataReader

Parâmetros

Valor de retorno

Um objeto SqlCeDataReader

Exceções

Tipo de exceção Condição
InvalidOperationException

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

O SqlCeDataReader dá suporte a um modo especial que permite a leitura eficiente de valores binários grandes. Para obter mais informações, consulte a configuração SequentialAccess para CommandBehavior.

Enquanto o SqlCeDataReader está sendo usado, a SqlCeConnection associada está ocupada atendendo o SqlCeDataReader. Neste estado, antes de chamar o método Close do SqlCeDataReader, você pode executar apenas a operação Close na SqlCeConnection.

Exemplo

O exemplo a seguir cria um SqlCeCommand e o executa passando uma instrução SQL SELECT e um objeto SqlCeConnection. O CommandBehavior é definido como CloseConnection.

Dim conn As New SqlCeConnection(connString)
Dim cmd As New SqlCeCommand("SELECT * FROM myTable", conn)

cmd.Connection.Open()
Dim rdr As SqlCeDataReader = Nothing

Try
    ' Execute the reader; make sure you alway close the 
    ' reader after you're done using it (ideally in the finally block)
    '
    rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)

    While rdr.Read()
        Console.WriteLine(rdr.GetString(0))
    End While
Finally
    ' Closing the reader will also close the associated connection
    '
    rdr.Close()
End Try
SqlCeConnection conn = new SqlCeConnection(connString);
SqlCeCommand cmd = new SqlCeCommand("SELECT * FROM myTable", conn);

cmd.Connection.Open();
SqlCeDataReader rdr = null;

try
{
    // Execute the reader; make sure you alway close the 
    // reader after you're done using it (ideally in the finally block)
    //
    rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

    while (rdr.Read())
    {
        Console.WriteLine(rdr.GetString(0));
    }
}
finally
{
    // Closing the reader will also close the associated connection
    //
    rdr.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