IDataRecord IDataRecord IDataRecord IDataRecord Interface

Définition

Fournit l’accès aux valeurs de colonnes dans chaque ligne pour DataReader, et est implémenté par les fournisseurs de données .NET Framework qui accèdent aux bases de données relationnelles.Provides access to the column values within each row for a DataReader, and is implemented by .NET Framework data providers that access relational databases.

public interface class IDataRecord
public interface IDataRecord
type IDataRecord = interface
Public Interface IDataRecord
Dérivé

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. SqlConnectionFinally, the example closes the SqlDataReader, and 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.The IDataReader and IDataRecord interfaces enable an inheriting class to implement a DataReader class. Cela permet de lire un ou plusieurs flux avant uniquement de jeux de résultats.This provides a way 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 IDataRecord l’interface, mais crée une instance d’une classe qui IDataRecordhérite de.An application does not create an instance of the IDataRecord interface directly, but creates an instance of a class that inherits IDataRecord. En général, vous le faites en obtenant un DataReader par le biais Command de la ExecuteReader méthode de l’objet.Typically, you do this by obtaining a DataReader through the ExecuteReader method of the Command object.

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

Les fournisseurs qui DataReader implémentent un sont requis pour exposer des données dans les types Common Language Runtime (CLR).Providers implementing a DataReader are required to expose data in common language runtime (CLR) types. La contrainte de type est définie pour certains types non inclus dans le CLR.Type coercion is defined for some types not included in the CLR. Ces valeurs sont accessibles en tant que types alternatifs conformes aux types CLR.These values may be accessed as alternative types that comply with CLR types. Par exemple, le tableau suivant répertorie les mappages suggérés de OLE DB types de données aux types CLR, avec des types alternatifs entre parenthèses.As an example, the following table lists suggested mappings from OLE DB data types to CLR types, with alternative types in parentheses.

Type OLE DBOLE DB type Type CLRCLR type
DBTYPE_BOOLDBTYPE_BOOL Int16Int16
DBTYPE_BSTRDBTYPE_BSTR stringstring
DBTYPE_BYTESDBTYPE_BYTES byte[]byte[]
DBTYPE_CYDBTYPE_CY DecimalDecimal
DBTYPE_DATEDBTYPE_DATE DateTimeDateTime
DBTYPE_DBDATEDBTYPE_DBDATE DateTimeDateTime
DBTYPE_DBTIMEDBTYPE_DBTIME DateTimeDateTime
DBTYPE_DBTIMESTAMPDBTYPE_DBTIMESTAMP DateTimeDateTime
DBTYPE_DECIMALDBTYPE_DECIMAL DecimalDecimal
DBTYPE_EMPTYDBTYPE_EMPTY nullnull
DBTYPE_ERRORDBTYPE_ERROR ExternalExceptionExternalException
DBTYPE_FILETIMEDBTYPE_FILETIME DateTimeDateTime
DBTYPE_GUIDDBTYPE_GUID GUIDGuid
DBTYPE_HCHAPTERDBTYPE_HCHAPTER non pris en chargenot supported
DBTYPE_I1DBTYPE_I1 SByteSByte
DBTYPE_I2DBTYPE_I2 Int16Int16
DBTYPE_I4DBTYPE_I4 Int32Int32
DBTYPE_I8DBTYPE_I8 Int64Int64
DBTYPE_IDISPATCHDBTYPE_IDISPATCH objectobject
DBTYPE_IUNKNOWNDBTYPE_IUNKNOWN objectobject
DBTYPE_NULLDBTYPE_NULL DBNull.ValueDBNull.Value
DBTYPE_NUMERICDBTYPE_NUMERIC DecimalDecimal
DBTYPE_PROPVARIANTDBTYPE_PROPVARIANT objectobject
DBTYPE_R4DBTYPE_R4 SingleSingle
DBTYPE_R8DBTYPE_R8 DoubleDouble
DBTYPE_STRDBTYPE_STR stringstring
DBTYPE_UDTDBTYPE_UDT non pris en chargenot supported
DBTYPE_UI1DBTYPE_UI1 byte (Int16)byte (Int16)
DBTYPE_UI2DBTYPE_UI2 UInt16 (Int32)UInt16 (Int32)
DBTYPE_UI4DBTYPE_UI4 UInt32 (Int64)UInt32 (Int64)
DBTYPE_UI8DBTYPE_UI8 UInt64 (décimal)UInt64 (Decimal)
DBTYPE_VARIANTDBTYPE_VARIANT objectobject
DBTYPE_VARNUMERICDBTYPE_VARNUMERIC non pris en chargenot supported
DBTYPE_WSTRDBTYPE_WSTR stringstring

Propriétés

FieldCount FieldCount FieldCount FieldCount

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

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.

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.

Méthodes

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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).

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.

GetGuid(Int32) GetGuid(Int32) GetGuid(Int32) GetGuid(Int32)

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

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.

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.

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.

GetName(Int32) GetName(Int32) GetName(Int32) GetName(Int32)

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

GetOrdinal(String) GetOrdinal(String) GetOrdinal(String) GetOrdinal(String)

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

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.

GetValue(Int32) GetValue(Int32) GetValue(Int32) GetValue(Int32)

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

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.

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.

S’applique à