IDataReader IDataReader IDataReader IDataReader Interface

Définition

Fournit un moyen de lire un ou plusieurs flux avant uniquement de jeux de résultats obtenus par l’exécution d’une commande sur une source de données, et est implémenté par les fournisseurs de données .NET Framework qui accèdent aux bases de données relationnelles.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
Dérivé
Implémente

Exemples

L’exemple suivant crée des instances des classes dérivées SqlConnection, SqlCommand, et SqlDataReader.The following example creates instances of the derived classes, SqlConnection, SqlCommand, and SqlDataReader. L’exemple lit les données, en les écrivant dans la console.The example reads through the data, writing it out to the console. Enfin, l’exemple ferme le SqlDataReader, puis le SqlConnection.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

Remarques

Les IDataReader interfaces IDataRecord et permettent à une classe qui hérite d' DataReader implémenter une classe, qui fournit un moyen de lire un ou plusieurs flux avant uniquement de jeux de résultats.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. Pour plus d’informations DataReader sur les classes, consultez extraction de données à l’aide d’un DataReader.For more information about DataReader classes, see Retrieving Data Using a DataReader.

Une application ne crée pas directement une instance de IDataReader l’interface, mais crée une instance d’une classe qui IDataReaderhérite de.An application does not create an instance of the IDataReader interface directly, but creates an instance of a class that inherits IDataReader.

Les classes qui IDataReader héritent doivent implémenter les membres hérités et définissent généralement des membres supplémentaires pour ajouter des fonctionnalités spécifiques au fournisseur.Classes that inherit IDataReader must implement the inherited members, and typically define additional members to add provider-specific functionality.

Les modifications apportées à un jeu de résultats par un autre processus ou thread pendant la lecture des données peuvent être visibles par l’utilisateur d’une IDataReaderclasse qui implémente un.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. Toutefois, le comportement précis dépend à la fois du fournisseur et du minutage.However, the precise behavior is both provider and timing dependent.

Notes pour les responsables de l’implémentation

Pour promouvoir la cohérence entre .NET Framework fournisseurs de données, nommez la classe qui hérite dans Prv le formulaire Prv , où est le préfixe uniforme donné à toutes les classes dans un espace de noms de fournisseur de données .NET Framework spécifique.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. Par exemple, Sql est le préfixe de SqlDataAdapter la classe dans System.Data.SqlClient l’espace de noms.For example, Sql is the prefix of the SqlDataAdapter class in the System.Data.SqlClient namespace.

Les utilisateurs ne créent pas directement une instance DataReader d’une classe.Users do not create an instance of a DataReader class directly. Au lieu de cela, DataReader ils obtiennent l' ExecuteReader instance par l' Command intermédiaire de la méthode de l’objet.Instead, they obtain the DataReader instance through the ExecuteReader method of the Command object. Par conséquent, vous devez DataReader marquer les constructeurs comme internes.Therefore, you should mark DataReader constructors as internal.

Propriétés

Depth Depth Depth Depth

Obtient une valeur indiquant la profondeur d'imbrication de la ligne actuelle.Gets a value indicating the depth of nesting for the current row.

FieldCount FieldCount FieldCount FieldCount

Obtient le nombre de colonnes figurant dans la ligne actuelle.Gets the number of columns in the current row.

(Inherited from IDataRecord)
IsClosed IsClosed IsClosed IsClosed

Obtient une valeur indiquant si le lecteur de données est fermé.Gets a value indicating whether the data reader is closed.

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

Obtient la colonne située à l'index spécifié.Gets the column located at the specified index.

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

Récupère la colonne portant le nom spécifié.Gets the column with the specified name.

(Inherited from IDataRecord)
RecordsAffected RecordsAffected RecordsAffected RecordsAffected

Obtient le nombre de lignes modifiées, insérées ou supprimées par l'exécution de l'instruction SQL.Gets the number of rows changed, inserted, or deleted by execution of the SQL statement.

Méthodes

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

Ferme l'objet IDataReader.Closes the IDataReader Object.

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

Exécute les tâches définies par l'application associées à la libération ou à la redéfinition des ressources non managées.Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

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

Obtient la valeur de la colonne spécifiée sous la forme d'une valeur Boolean.Gets the value of the specified column as a Boolean.

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

Récupère la valeur de l’entier signé 8 bits de la colonne spécifiée.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)

Lit un flux d’octets à partir de l’offset de colonne spécifié dans la mémoire tampon comme un tableau, en commençant à l’offset de mémoire tampon donné.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)

Obtient la valeur de caractère de la colonne spécifiée.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)

Lit un flux de caractères à partir de l’offset de colonne spécifié dans la mémoire tampon comme un tableau, en commençant à l’offset de mémoire tampon donné.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)

Retourne un IDataReader pour le numéro de colonne spécifié.Returns an IDataReader for the specified column ordinal.

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

Obtient les informations sur le type de données pour le champ spécifié.Gets the data type information for the specified field.

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

Obtient la valeur des données de date et d’heure du champ spécifié.Gets the date and time data value of the specified field.

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

Obtient la valeur numérique à position fixe du champ spécifié.Gets the fixed-position numeric value of the specified field.

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

Obtient le nombre à virgule flottante double précision du champ spécifié.Gets the double-precision floating point number of the specified field.

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

Obtient les informations Type correspondant au type de Object qui doit être retourné à partir 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)

Obtient le nombre à virgule flottante simple précision du champ spécifié.Gets the single-precision floating point number of the specified field.

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

Retourne la valeur GUID du champ spécifié.Returns the GUID value of the specified field.

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

Obtient la valeur de l’entier signé 16 bits du champ spécifié.Gets the 16-bit signed integer value of the specified field.

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

Obtient la valeur de l’entier signé 32 bits du champ spécifié.Gets the 32-bit signed integer value of the specified field.

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

Récupère la valeur de l’entier signé 64 bits du champ spécifié.Gets the 64-bit signed integer value of the specified field.

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

Obtient le nom du champs à rechercher.Gets the name for the field to find.

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

Retourne l’index du champ nommé.Return the index of the named field.

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

Retourne un DataTable qui décrit les métadonnées de colonne de IDataReader.Returns a DataTable that describes the column metadata of the IDataReader.

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

Obtient la valeur de chaîne du champ spécifié.Gets the string value of the specified field.

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

Retourne la valeur du champ spécifié.Return the value of the specified field.

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

Remplit un tableau d’objets avec les valeurs de colonne de l’enregistrement actif.Populates an array of objects with the column values of the current record.

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

Retourne une valeur indiquant si le champ spécifié a la valeur null.Return whether the specified field is set to null.

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

Avance le lecteur de données jusqu’au résultat suivant lors de la lecture des résultats d’instructions SQL par lots.Advances the data reader to the next result, when reading the results of batch SQL statements.

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

Fait passer le IDataReader à l’enregistrement suivant.Advances the IDataReader to the next record.

S’applique à