IDataReader IDataReader IDataReader IDataReader Interface

Definição

Fornece um meio de ler um ou mais fluxos somente encaminhamento de conjuntos de resultados obtidos com a execução de um comando em uma fonte de dados e é implementado por provedores de dados .NET Framework que acessam bancos de dados relacionais.Provides a means of reading one or more forward-only streams of result sets obtained by executing a command at a data source, and is implemented by .NET Framework data providers that access relational databases.

public interface class IDataReader : IDisposable, System::Data::IDataRecord
public interface IDataReader : IDisposable, System.Data.IDataRecord
type IDataReader = interface
    interface IDisposable
    interface IDataRecord
Public Interface IDataReader
Implements IDataRecord, IDisposable
Derivado
Implementações

Exemplos

O exemplo a seguir cria instâncias das classes derivadas, SqlConnection, SqlCommand, e SqlDataReader.The following example creates instances of the derived classes, SqlConnection, SqlCommand, and SqlDataReader. O exemplo lê os dados, gravando-os no console.The example reads through the data, writing it out to the console. Por fim, o exemplo fecha SqlDataReadero e, SqlConnectionem seguida, o.Finally, the example closes the SqlDataReader, then the SqlConnection.

using System;
using System.Data;
using System.Data.SqlClient;


class Program
{
    static void Main()
    {
        string str = "Data Source=(local);Initial Catalog=Northwind;"
            + "Integrated Security=SSPI";
        ReadOrderData(str);
    }

    private static void ReadOrderData(string connectionString)
    {
        string queryString =
            "SELECT OrderID, CustomerID FROM dbo.Orders;";

        using (SqlConnection connection =
                   new SqlConnection(connectionString))
        {
            SqlCommand command =
                new SqlCommand(queryString, connection);
            connection.Open();

            SqlDataReader reader = command.ExecuteReader();

            // Call Read before accessing data.
            while (reader.Read())
            {
                ReadSingleRow((IDataRecord)reader);
            }

            // Call Close when done reading.
            reader.Close();
        }
    }

    private static void ReadSingleRow(IDataRecord record)
    {
        Console.WriteLine(String.Format("{0}, {1}", record[0], record[1]));
    }

}
Option Explicit On
Option Strict On

Imports System.Data
Imports System.Data.SqlClient

Module Module1

    Sub Main()
        Dim str As String = "Data Source=(local);Initial Catalog=Northwind;" _
       & "Integrated Security=SSPI;"
        ReadOrderData(str)
    End Sub

    Private Sub ReadOrderData(ByVal connectionString As String)
        Dim queryString As String = _
            "SELECT OrderID, CustomerID FROM dbo.Orders;"

        Using connection As New SqlConnection(connectionString)
            Dim command As New SqlCommand(queryString, connection)
            connection.Open()

            Dim reader As SqlDataReader = command.ExecuteReader()

            ' Call Read before accessing data.
            While reader.Read()
                ReadSingleRow(CType(reader, IDataRecord))
            End While

            ' Call Close when done reading.
            reader.Close()
        End Using
    End Sub

    Private Sub ReadSingleRow(ByVal record As IDataRecord)
       Console.WriteLine(String.Format("{0}, {1}", record(0), record(1)))

    End Sub

End Module

Comentários

As IDataReader interfaces IDataRecord e permitem que uma classe de herança implemente DataReader uma classe, que fornece um meio de ler um ou mais fluxos somente de encaminhamento de conjuntos de resultados.The IDataReader and IDataRecord interfaces allow an inheriting class to implement a DataReader class, which provides a means of reading one or more forward-only streams of result sets. Para obter mais informações DataReader sobre classes, consulte recuperando dados usando um DataReader.For more information about DataReader classes, see Retrieving Data Using a DataReader.

Um aplicativo não cria uma instância da IDataReader interface diretamente, mas cria uma instância de uma classe que herda. IDataReaderAn application does not create an instance of the IDataReader interface directly, but creates an instance of a class that inherits IDataReader.

As classes que IDataReader herdam devem implementar os membros herdados e normalmente definem membros adicionais para adicionar funcionalidade específica do provedor.Classes that inherit IDataReader must implement the inherited members, and typically define additional members to add provider-specific functionality.

As alterações feitas em um conjunto de resultados por outro processo ou thread enquanto os dados estão sendo lidos podem ser visíveis para o usuário de uma IDataReaderclasse que implementa um.Changes made to a result set by another process or thread while data is being read may be visible to the user of a class that implements an IDataReader. No entanto, o comportamento exato é dependente de provedor e de tempo.However, the precise behavior is both provider and timing dependent.

Notas aos Implementadores

Para promover a consistência entre .NET Framework provedores de dados, nomeie a classe herdeira no comando Prv de formulário Prv , em que é o prefixo uniforme fornecido a todas as classes em um namespace de provedor de dados .NET Framework específico.To promote consistency among .NET Framework data providers, name the inheriting class in the form Prv Command where Prv is the uniform prefix given to all classes in a specific .NET Framework data provider namespace. Por exemplo, Sql é o prefixo SqlDataAdapter da classe no System.Data.SqlClient namespace.For example, Sql is the prefix of the SqlDataAdapter class in the System.Data.SqlClient namespace.

Os usuários não criam uma instância de uma DataReader classe diretamente.Users do not create an instance of a DataReader class directly. Em vez disso, eles DataReader obtêm a ExecuteReader instância por meio Command do método do objeto.Instead, they obtain the DataReader instance through the ExecuteReader method of the Command object. Portanto, você deve marcar DataReader construtores como internos.Therefore, you should mark DataReader constructors as internal.

Propriedades

Depth Depth Depth Depth

Obtém um valor que indica a profundidade de aninhamento da linha atual.Gets a value indicating the depth of nesting for the current row.

FieldCount FieldCount FieldCount FieldCount

Obtém o número de colunas na linha atual.Gets the number of columns in the current row.

(Inherited from IDataRecord)
IsClosed IsClosed IsClosed IsClosed

Obtém um valor que indica se o leitor de dados está fechado.Gets a value indicating whether the data reader is closed.

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Obtém a coluna localizada no índice especificado.Gets the column located at the specified index.

(Inherited from IDataRecord)
Item[String] Item[String] Item[String] Item[String]

Obtém a coluna com o nome especificado.Gets the column with the specified name.

(Inherited from IDataRecord)
RecordsAffected RecordsAffected RecordsAffected RecordsAffected

Obtém o número de linhas alteradas, inseridas ou excluídas pela execução da instrução SQL.Gets the number of rows changed, inserted, or deleted by execution of the SQL statement.

Métodos

Close() Close() Close() Close()

Fecha o objeto IDataReader.Closes the IDataReader Object.

Dispose() Dispose() Dispose() Dispose()

Realiza tarefas definidas pelo aplicativo associadas à liberação ou à redefinição de recursos não gerenciados.Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

(Inherited from IDisposable)
GetBoolean(Int32) GetBoolean(Int32) GetBoolean(Int32) GetBoolean(Int32)

Obtém o valor da coluna especificada como um booliano.Gets the value of the specified column as a Boolean.

(Inherited from IDataRecord)
GetByte(Int32) GetByte(Int32) GetByte(Int32) GetByte(Int32)

Obtém o valor de inteiro sem sinal de 8 bits da coluna especificada.Gets the 8-bit unsigned integer value of the specified column.

(Inherited from IDataRecord)
GetBytes(Int32, Int64, Byte[], Int32, Int32) GetBytes(Int32, Int64, Byte[], Int32, Int32) GetBytes(Int32, Int64, Byte[], Int32, Int32) GetBytes(Int32, Int64, Byte[], Int32, Int32)

Lê um fluxo de bytes do deslocamento de coluna especificado no buffer como uma matriz, iniciando no deslocamento de buffer especificado.Reads a stream of bytes from the specified column offset into the buffer as an array, starting at the given buffer offset.

(Inherited from IDataRecord)
GetChar(Int32) GetChar(Int32) GetChar(Int32) GetChar(Int32)

Obtém o valor do caractere da coluna especificada.Gets the character value of the specified column.

(Inherited from IDataRecord)
GetChars(Int32, Int64, Char[], Int32, Int32) GetChars(Int32, Int64, Char[], Int32, Int32) GetChars(Int32, Int64, Char[], Int32, Int32) GetChars(Int32, Int64, Char[], Int32, Int32)

Lê um fluxo de caracteres do deslocamento de coluna especificado no buffer como uma matriz iniciada no deslocamento de buffer fornecido.Reads a stream of characters from the specified column offset into the buffer as an array, starting at the given buffer offset.

(Inherited from IDataRecord)
GetData(Int32) GetData(Int32) GetData(Int32) GetData(Int32)

Retorna um IDataReader para o ordinal da coluna especificada.Returns an IDataReader for the specified column ordinal.

(Inherited from IDataRecord)
GetDataTypeName(Int32) GetDataTypeName(Int32) GetDataTypeName(Int32) GetDataTypeName(Int32)

Obtém as informações de tipo de dados do campo especificado.Gets the data type information for the specified field.

(Inherited from IDataRecord)
GetDateTime(Int32) GetDateTime(Int32) GetDateTime(Int32) GetDateTime(Int32)

Obtém o valor de dados de data e hora do campo especificado.Gets the date and time data value of the specified field.

(Inherited from IDataRecord)
GetDecimal(Int32) GetDecimal(Int32) GetDecimal(Int32) GetDecimal(Int32)

Obtém o valor numérico de posição fixa do campo especificado.Gets the fixed-position numeric value of the specified field.

(Inherited from IDataRecord)
GetDouble(Int32) GetDouble(Int32) GetDouble(Int32) GetDouble(Int32)

Obtém o número de ponto flutuante de precisão dupla do campo especificado.Gets the double-precision floating point number of the specified field.

(Inherited from IDataRecord)
GetFieldType(Int32) GetFieldType(Int32) GetFieldType(Int32) GetFieldType(Int32)

Obtém as informações Type que correspondem ao tipo de Object que seria retornado de GetValue(Int32).Gets the Type information corresponding to the type of Object that would be returned from GetValue(Int32).

(Inherited from IDataRecord)
GetFloat(Int32) GetFloat(Int32) GetFloat(Int32) GetFloat(Int32)

Obtém o número de ponto flutuante de precisão simples do campo especificado.Gets the single-precision floating point number of the specified field.

(Inherited from IDataRecord)
GetGuid(Int32) GetGuid(Int32) GetGuid(Int32) GetGuid(Int32)

Retorna o valor de GUID do campo especificado.Returns the GUID value of the specified field.

(Inherited from IDataRecord)
GetInt16(Int32) GetInt16(Int32) GetInt16(Int32) GetInt16(Int32)

Obtém o valor inteiro com sinal de 16 bits do campo especificado.Gets the 16-bit signed integer value of the specified field.

(Inherited from IDataRecord)
GetInt32(Int32) GetInt32(Int32) GetInt32(Int32) GetInt32(Int32)

Obtém o valor inteiro com sinal de 32 bits do campo especificado.Gets the 32-bit signed integer value of the specified field.

(Inherited from IDataRecord)
GetInt64(Int32) GetInt64(Int32) GetInt64(Int32) GetInt64(Int32)

Obtém o valor inteiro com sinal de 64 bits do campo especificado.Gets the 64-bit signed integer value of the specified field.

(Inherited from IDataRecord)
GetName(Int32) GetName(Int32) GetName(Int32) GetName(Int32)

Obtém o nome do campo a ser localizado.Gets the name for the field to find.

(Inherited from IDataRecord)
GetOrdinal(String) GetOrdinal(String) GetOrdinal(String) GetOrdinal(String)

Retorna o índice do campo nomeado.Return the index of the named field.

(Inherited from IDataRecord)
GetSchemaTable() GetSchemaTable() GetSchemaTable() GetSchemaTable()

Retorna um DataTable que descreve os metadados da coluna do IDataReader.Returns a DataTable that describes the column metadata of the IDataReader.

GetString(Int32) GetString(Int32) GetString(Int32) GetString(Int32)

Obtém o valor de cadeia de caracteres do campo especificado.Gets the string value of the specified field.

(Inherited from IDataRecord)
GetValue(Int32) GetValue(Int32) GetValue(Int32) GetValue(Int32)

Retorne o valor do campo especificado.Return the value of the specified field.

(Inherited from IDataRecord)
GetValues(Object[]) GetValues(Object[]) GetValues(Object[]) GetValues(Object[])

Popula uma matriz de objetos com os valores da coluna do registro atual.Populates an array of objects with the column values of the current record.

(Inherited from IDataRecord)
IsDBNull(Int32) IsDBNull(Int32) IsDBNull(Int32) IsDBNull(Int32)

Retorna se o campo especificado está definido como nulo.Return whether the specified field is set to null.

(Inherited from IDataRecord)
NextResult() NextResult() NextResult() NextResult()

Avança o leitor de dados para o resultado seguinte ao ler os resultados de instruções SQL em lote.Advances the data reader to the next result, when reading the results of batch SQL statements.

Read() Read() Read() Read()

Avança o IDataReader para o próximo registro.Advances the IDataReader to the next record.

Aplica-se a