IDataReader Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 que acessam bancos de dados relacionais.
public interface class IDataReader : IDisposable, System::Data::IDataRecord
public interface IDataReader : IDisposable, System.Data.IDataRecord
type IDataReader = interface
interface IDataRecord
interface IDisposable
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, SqlCommande SqlDataReader. O exemplo lê os dados, gravando-os no console. Por fim, o exemplo fecha o SqlDataReadere o SqlConnection.
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 dataRecord)
{
Console.WriteLine(String.Format("{0}, {1}", dataRecord[0], dataRecord[1]));
}
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
Comentários
As IDataReader interfaces e IDataRecord permitem que uma classe herdada implemente uma DataReader
classe , que fornece um meio de ler um ou mais fluxos somente de encaminhamento de conjuntos de resultados. Para obter mais informações sobre DataReader
classes, consulte Recuperando dados usando um DataReader.
Um aplicativo não cria uma instância da IDataReader interface diretamente, mas cria uma instância de uma classe que herda IDataReader.
As classes herdadas IDataReader devem implementar os membros herdados e, normalmente, definir membros adicionais para adicionar funcionalidade específica do provedor.
As alterações feitas em um conjunto de resultados por outro processo ou thread enquanto os dados estão sendo lidos podem estar visíveis para o usuário de uma classe que implementa um IDataReader
. No entanto, o comportamento preciso depende do provedor e do tempo.
Notas aos Implementadores
Para promover a consistência entre .NET Framework provedores de dados, nomeie a classe herdada no formato Prv
Command, em que Prv
é o prefixo uniforme fornecido a todas as classes em um namespace específico do provedor de dados .NET Framework. Por exemplo, Sql
é o prefixo da SqlDataAdapter classe no System.Data.SqlClient
namespace .
Os usuários não criam uma instância de uma DataReader
classe diretamente. Em vez disso, eles obtêm a DataReader
instância por meio do ExecuteReader
método do Command
objeto . Portanto, você deve marcar DataReader
construtores como internos.
Propriedades
Depth |
Obtém um valor que indica a profundidade de aninhamento da linha atual. |
FieldCount |
Obtém o número de colunas na linha atual. (Herdado de IDataRecord) |
IsClosed |
Obtém um valor que indica se o leitor de dados está fechado. |
Item[Int32] |
Obtém a coluna localizada no índice especificado. (Herdado de IDataRecord) |
Item[String] |
Obtém a coluna com o nome especificado. (Herdado de IDataRecord) |
RecordsAffected |
Obtém o número de linhas alteradas, inseridas ou excluídas pela execução da instrução SQL. |
Métodos
Close() |
Fecha o objeto IDataReader. |
Dispose() |
Realiza tarefas definidas pelo aplicativo associadas à liberação ou à redefinição de recursos não gerenciados. (Herdado de IDisposable) |
GetBoolean(Int32) |
Obtém o valor da coluna especificada como um booliano. (Herdado de IDataRecord) |
GetByte(Int32) |
Obtém o valor de inteiro sem sinal de 8 bits da coluna especificada. (Herdado de IDataRecord) |
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. (Herdado de IDataRecord) |
GetChar(Int32) |
Obtém o valor do caractere da coluna especificada. (Herdado de IDataRecord) |
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. (Herdado de IDataRecord) |
GetData(Int32) |
Retorna um IDataReader para o ordinal da coluna especificada. (Herdado de IDataRecord) |
GetDataTypeName(Int32) |
Obtém as informações de tipo de dados do campo especificado. (Herdado de IDataRecord) |
GetDateTime(Int32) |
Obtém o valor de dados de data e hora do campo especificado. (Herdado de IDataRecord) |
GetDecimal(Int32) |
Obtém o valor numérico de posição fixa do campo especificado. (Herdado de IDataRecord) |
GetDouble(Int32) |
Obtém o número de ponto flutuante de precisão dupla do campo especificado. (Herdado de IDataRecord) |
GetFieldType(Int32) |
Obtém as informações Type que correspondem ao tipo de Object que seria retornado de GetValue(Int32). (Herdado de IDataRecord) |
GetFloat(Int32) |
Obtém o número de ponto flutuante de precisão simples do campo especificado. (Herdado de IDataRecord) |
GetGuid(Int32) |
Retorna o valor de GUID do campo especificado. (Herdado de IDataRecord) |
GetInt16(Int32) |
Obtém o valor inteiro com sinal de 16 bits do campo especificado. (Herdado de IDataRecord) |
GetInt32(Int32) |
Obtém o valor inteiro com sinal de 32 bits do campo especificado. (Herdado de IDataRecord) |
GetInt64(Int32) |
Obtém o valor inteiro com sinal de 64 bits do campo especificado. (Herdado de IDataRecord) |
GetName(Int32) |
Obtém o nome do campo a ser localizado. (Herdado de IDataRecord) |
GetOrdinal(String) |
Retorna o índice do campo nomeado. (Herdado de IDataRecord) |
GetSchemaTable() |
Retorna um DataTable que descreve os metadados da coluna do IDataReader. Retorna |
GetString(Int32) |
Obtém o valor de cadeia de caracteres do campo especificado. (Herdado de IDataRecord) |
GetValue(Int32) |
Retorne o valor do campo especificado. (Herdado de IDataRecord) |
GetValues(Object[]) |
Popula uma matriz de objetos com os valores da coluna do registro atual. (Herdado de IDataRecord) |
IsDBNull(Int32) |
Retorna se o campo especificado está definido como nulo. (Herdado de IDataRecord) |
NextResult() |
Avança o leitor de dados para o resultado seguinte ao ler os resultados de instruções SQL em lote. |
Read() |
Avança o IDataReader para o próximo registro. |