Compartilhar via


Classe SqlCeDataReader

Fornece uma maneira de ler um fluxo apenas de encaminhamento de linhas de dados de uma fonte de dados. Esta classe não pode ser herdada.

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

Sintaxe

'Declaração
Public Class SqlCeDataReader _
    Inherits DbDataReader
'Uso
Dim instance As SqlCeDataReader
public class SqlCeDataReader : DbDataReader
public ref class SqlCeDataReader : public DbDataReader
type SqlCeDataReader =  
    class
        inherit DbDataReader
    end
public class SqlCeDataReader extends DbDataReader

Comentários

Para criar um SqlCeDataReader, chame o método ExecuteReader do objeto SqlCeCommand, em vez de usar diretamente um construtor.

Enquanto o SqlCeDataReader está sendo usado, a SqlCeConnection associada está ocupada atendendo o SqlCeDataReader. Neste estado, você pode criar vários leitores na mesma conexão.

As alterações feitas a um conjunto de resultados por outro processo ou thread enquanto os dados são lidos podem ser visíveis para o usuário do SqlCeDataReader; contudo, o comportamento preciso depende do quando ocorrem.

IsClosed e RecordsAffected são as únicas propriedades que você pode chamar depois que o SqlCeDataReader é fechado. Apesar de ser possível acessar propriedade RecordsAffected a qualquer momento enquanto o SqlCeDataReader existir, sempre chame Close antes de retornar o valor de RecordsAffected para assegurar um valor de retorno preciso.

Exemplos

O exemplo a seguir cria uma SqlCeConnection, um SqlCeCommand e um SqlCeDataReader. O exemplo lê os dados e os grava no console; em seguida, fecha o SqlCeDataReader e a SqlCeConnection.

Dim conn As SqlCeConnection = Nothing
Dim cmd As SqlCeCommand = Nothing
Dim rdr As SqlCeDataReader = Nothing

Try
    ' Open the connection and create a SQL command
    '
    conn = New SqlCeConnection("Data Source = AdventureWorks.sdf")
    conn.Open()

    cmd = New SqlCeCommand("SELECT * FROM DimEmployee", conn)

    rdr = cmd.ExecuteReader()

    ' Iterate through the results
    '
    While rdr.Read()
        Dim employeeID As Integer = rdr.GetInt32(0) ' or: rdr["EmployeeKey"];
        Dim lastName As String = rdr.GetString(5) ' or: rdr["FirstName"];
    End While

    ' Always dispose data readers and commands as soon as practicable
    '
    rdr.Close()
    cmd.Dispose()
Finally
    ' Close the connection when no longer needed
    '
    conn.Close()
End Try
SqlCeConnection conn = null;
SqlCeCommand cmd = null;
SqlCeDataReader rdr = null;

try
{
    // Open the connection and create a SQL command
    //
    conn = new SqlCeConnection("Data Source = AdventureWorks.sdf");
    conn.Open();

    cmd = new SqlCeCommand("SELECT * FROM DimEmployee", conn);

    rdr = cmd.ExecuteReader();

    // Iterate through the results
    //
    while (rdr.Read())
    {
        int employeeID = rdr.GetInt32(0);   // or: rdr["EmployeeKey"];
        string lastName = rdr.GetString(5); // or: rdr["FirstName"];
    }

    // Always dispose data readers and commands as soon as practicable
    //
    rdr.Close();
    cmd.Dispose();
}
finally
{
    // Close the connection when no longer needed
    //
    conn.Close();
}

Hierarquia de herança

System. . :: . .Object
  System. . :: . .MarshalByRefObject
    System.Data.Common. . :: . .DbDataReader
      System.Data.SqlServerCe..::..SqlCeDataReader
        System.Data.SqlServerCe. . :: . .SqlCeResultSet

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 SqlCeDataReader

Namespace System.Data.SqlServerCe