IDataReader IDataReader IDataReader IDataReader Interface

Definizione

Consente di leggere uno o più flussi forward-only di set di risultati ottenuti eseguendo un comando in corrispondenza di un'origine dati e viene implementata dai provider di dati .NET Framework che accedono a database relazionali.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
Derivato
Implementazioni

Esempi

Nell'esempio seguente vengono create istanze delle classi derivate SqlCommand, SqlConnection, SqlDataReadere.The following example creates instances of the derived classes, SqlConnection, SqlCommand, and SqlDataReader. L'esempio legge i dati e li scrive nella console.The example reads through the data, writing it out to the console. Infine, l'esempio chiude SqlDataReader, SqlConnectionquindi.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

Commenti

Le IDataReader interfacce IDataRecord e consentono a una classe che eredita di implementare DataReader una classe, che fornisce un mezzo per leggere uno o più flussi di set di risultati di sola trasmissione.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. Per ulteriori informazioni sulle DataReader classi, vedere recupero di dati tramite DataReader.For more information about DataReader classes, see Retrieving Data Using a DataReader.

Un'applicazione non crea direttamente un'istanza dell' IDataReader interfaccia, ma crea un'istanza di una classe che eredita. IDataReaderAn application does not create an instance of the IDataReader interface directly, but creates an instance of a class that inherits IDataReader.

Le classi che IDataReader ereditano devono implementare i membri ereditati e in genere definiscono membri aggiuntivi per aggiungere funzionalità specifiche del provider.Classes that inherit IDataReader must implement the inherited members, and typically define additional members to add provider-specific functionality.

Le modifiche apportate a un set di risultati da un altro processo o thread durante la lettura dei dati possono essere visibili all'utente di una IDataReaderclasse che implementa un oggetto.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. Tuttavia, il comportamento preciso è dipendente dal provider e dall'intervallo di tempo.However, the precise behavior is both provider and timing dependent.

Note per gli implementatori

Per promuovere la coerenza tra .NET Framework provider di dati, denominare la classe che Prv eredita nel Prv form comando, dove è il prefisso uniforme assegnato a tutte le classi in uno specifico spazio dei nomi del provider di dati .NET Framework.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. Ad esempio, Sql è il prefisso SqlDataAdapter della classe nello System.Data.SqlClient spazio dei nomi.For example, Sql is the prefix of the SqlDataAdapter class in the System.Data.SqlClient namespace.

Gli utenti non possono creare direttamente un'istanza DataReader di una classe.Users do not create an instance of a DataReader class directly. Ottengono invece l' DataReader istanza tramite il ExecuteReader metodo dell' Command oggetto.Instead, they obtain the DataReader instance through the ExecuteReader method of the Command object. Pertanto, è necessario contrassegnare DataReader i costruttori come interni.Therefore, you should mark DataReader constructors as internal.

Proprietà

Depth Depth Depth Depth

Ottiene un valore che indica il livello di annidamento della riga corrente.Gets a value indicating the depth of nesting for the current row.

FieldCount FieldCount FieldCount FieldCount

Ottiene il numero di colonne nella riga corrente.Gets the number of columns in the current row.

(Inherited from IDataRecord)
IsClosed IsClosed IsClosed IsClosed

Ottiene un valore che indica se il lettore dati è chiuso.Gets a value indicating whether the data reader is closed.

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

Ottiene la colonna che si trova in corrispondenza dell'indice specificato.Gets the column located at the specified index.

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

Ottiene la colonna con il nome specificato.Gets the column with the specified name.

(Inherited from IDataRecord)
RecordsAffected RecordsAffected RecordsAffected RecordsAffected

Ottiene il numero di righe modificate, inserite o eliminate dall'esecuzione dell'istruzione SQL.Gets the number of rows changed, inserted, or deleted by execution of the SQL statement.

Metodi

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

Chiude l'oggetto IDataReader.Closes the IDataReader Object.

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

Esegue attività definite dall'applicazione, come rilasciare o reimpostare risorse non gestite.Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

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

Ottiene il valore della colonna specificata come valore Boolean.Gets the value of the specified column as a Boolean.

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

Ottiene il valore dell'intero senza segno a 8 bit della colonna specificata.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)

Legge un flusso di byte dall'offset di colonna specificato nel buffer come matrice, a partire dall'offset del buffer specificato.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)

Ottiene il valore del carattere della colonna specificata.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)

Legge un flusso di caratteri dall'offset di colonna specificato nel buffer come matrice, a partire dall'offset del buffer specificato.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)

Restituisce IDataReader per l'ordinale di colonna specificato.Returns an IDataReader for the specified column ordinal.

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

Ottiene le informazioni sul tipo di dati per il campo specificato.Gets the data type information for the specified field.

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

Ottiene il valore dei dati di data e ora del campo specificato.Gets the date and time data value of the specified field.

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

Ottiene il valore numerico con posizione fissa del campo specificato.Gets the fixed-position numeric value of the specified field.

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

Ottiene il numero a virgola mobile con precisione doppia del campo specificato.Gets the double-precision floating point number of the specified field.

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

Ottiene le informazioni relative a Type corrispondenti al tipo di Object che verrebbe restituito da 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)

Ottiene il numero a virgola mobile con precisione singola del campo specificato.Gets the single-precision floating point number of the specified field.

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

Restituisce il valore GUID del campo specificato.Returns the GUID value of the specified field.

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

Ottiene il valore dell'intero con segno a 16 bit del campo specificato.Gets the 16-bit signed integer value of the specified field.

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

Ottiene il valore dell'intero con segno a 32 bit del campo specificato.Gets the 32-bit signed integer value of the specified field.

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

Ottiene il valore dell'intero con segno a 64 bit del campo specificato.Gets the 64-bit signed integer value of the specified field.

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

Ottiene il nome del campo da trovare.Gets the name for the field to find.

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

Restituisce l'indice del campo denominato.Return the index of the named field.

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

Restituisce un oggetto DataTable che descrive i metadati della colonna di IDataReader.Returns a DataTable that describes the column metadata of the IDataReader.

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

Ottiene il valore stringa del campo specificato.Gets the string value of the specified field.

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

Restituisce il valore del campo specificato.Return the value of the specified field.

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

Popola una matrice di oggetti con i valori della colonna del record corrente.Populates an array of objects with the column values of the current record.

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

Indica se il campo specificato è impostato su Null.Return whether the specified field is set to null.

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

Sposta il lettore dati al risultato successivo durante la lettura dei risultati di un batch di istruzioni SQL.Advances the data reader to the next result, when reading the results of batch SQL statements.

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

Sposta l'oggetto IDataReader al record successivo.Advances the IDataReader to the next record.

Si applica a