IDataRecord Interface

Definitie

Biedt toegang tot de kolomwaarden binnen elke rij voor een DataReader en wordt geïmplementeerd door .NET gegevensproviders die toegang hebben tot relationele databases.

public interface class IDataRecord
public interface IDataRecord
type IDataRecord = interface
Public Interface IDataRecord
Afgeleid

Voorbeelden

In het volgende voorbeeld worden exemplaren van de afgeleide klassen, SqlConnection, SqlCommanden SqlDataReader. In het voorbeeld worden de gegevens gelezen en naar de console geschreven. Ten slotte sluit het voorbeeld de SqlDataReader, en vervolgens de 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

Opmerkingen

Met de IDataReader en IDataRecord interfaces kan een overnemende klasse een DataReader klasse implementeren. Dit biedt een manier om een of meer doorstuurstreams met resultatensets te lezen. Zie Gegevens ophalen met behulp van een DataReader voor meer informatie over DataReader klassen.

Een toepassing maakt geen exemplaar van de IDataRecord interface rechtstreeks, maar maakt een exemplaar van een klasse die wordt overgenomen IDataRecord. Normaal gesproken doet u dit door een DataReader via de ExecuteReader methode van het Command object te verkrijgen.

Klassen die overnemen IDataRecord , moeten alle overgenomen leden implementeren en definiëren doorgaans aanvullende leden om providerspecifieke functionaliteit toe te voegen.

Providers die een DataReader implementatie uitvoeren, zijn vereist om gegevens beschikbaar te maken in CLR-typen (Common Language Runtime). Type coercion is gedefinieerd voor sommige typen die niet zijn opgenomen in de CLR. Deze waarden kunnen worden geopend als alternatieve typen die voldoen aan CLR-typen. In de volgende tabel ziet u bijvoorbeeld voorgestelde toewijzingen van OLE DB-gegevenstypen aan CLR-typen, met alternatieve typen haakjes.

OLE DB-type CLR-type
DBTYPE_BOOL Int16
DBTYPE_BSTR string
DBTYPE_BYTES byte[]
DBTYPE_CY Decimal
DBTYPE_DATE DateTime
DBTYPE_DBDATE DateTime
DBTYPE_DBTIME DateTime
DBTYPE_DBTIMESTAMP DateTime
DBTYPE_DECIMAL Decimal
DBTYPE_EMPTY nul
DBTYPE_ERROR ExterneExceptie
DBTYPE_FILETIME DateTime
DBTYPE_GUID Guid
DBTYPE_HCHAPTER niet ondersteund
DBTYPE_I1 SByte
DBTYPE_I2 Int16
DBTYPE_I4 Int32
DBTYPE_I8 Int64
DBTYPE_IDISPATCH Object
DBTYPE_IUNKNOWN Object
DBTYPE_NULL DBNull.Value
DBTYPE_NUMERIC Decimal
DBTYPE_PROPVARIANT Object
DBTYPE_R4 Single
DBTYPE_R8 Double
DBTYPE_STR string
DBTYPE_UDT niet ondersteund
DBTYPE_UI1 byte (Int16)
DBTYPE_UI2 UInt16 (Int32)
DBTYPE_UI4 UInt32 (Int64)
DBTYPE_UI8 UInt64 (decimaal)
DBTYPE_VARIANT Object
DBTYPE_VARNUMERIC niet ondersteund
DBTYPE_WSTR string

Eigenschappen

Name Description
FieldCount

Hiermee haalt u het aantal kolommen in de huidige rij op.

Item[Int32]

Hiermee haalt u de kolom op die zich in de opgegeven index bevindt.

Item[String]

Hiermee haalt u de kolom op met de opgegeven naam.

Methoden

Name Description
GetBoolean(Int32)

Hiermee haalt u de waarde van de opgegeven kolom op als een Booleaanse waarde.

GetByte(Int32)

Hiermee wordt de 8-bits niet-ondertekende gehele waarde van de opgegeven kolom opgehaald.

GetBytes(Int32, Int64, Byte[], Int32, Int32)

Leest een stroom van bytes van de opgegeven kolom offset in de buffer als een matrix, beginnend bij de opgegeven buffer offset.

GetChar(Int32)

Hiermee haalt u de tekenwaarde van de opgegeven kolom op.

GetChars(Int32, Int64, Char[], Int32, Int32)

Hiermee leest u een stroom tekens van de opgegeven kolom offset in de buffer als matrix, te beginnen bij de opgegeven buffer offset.

GetData(Int32)

Retourneert een IDataReader voor de opgegeven kolomordinaal.

GetDataTypeName(Int32)

Hiermee haalt u de gegevenstypegegevens voor het opgegeven veld op.

GetDateTime(Int32)

Hiermee haalt u de datum- en tijdgegevenswaarde van het opgegeven veld op.

GetDecimal(Int32)

Hiermee haalt u de numerieke waarde van de vaste positie van het opgegeven veld op.

GetDouble(Int32)

Hiermee wordt het drijvende kommanummer met dubbele precisie van het opgegeven veld opgehaald.

GetFieldType(Int32)

Hiermee haalt u de Type informatie op die overeenkomt met het type Object dat wordt geretourneerd van GetValue(Int32).

GetFloat(Int32)

Hiermee haalt u het drijvende kommanummer van één precisie van het opgegeven veld op.

GetGuid(Int32)

Retourneert de GUID-waarde van het opgegeven veld.

GetInt16(Int32)

Hiermee wordt de 16-bits geheel getalwaarde van het opgegeven veld opgehaald.

GetInt32(Int32)

Hiermee wordt de 32-bits geheel getalwaarde van het opgegeven veld opgehaald.

GetInt64(Int32)

Hiermee wordt de 64-bits geheel getalwaarde van het opgegeven veld opgehaald.

GetName(Int32)

Hiermee haalt u de naam op van het veld dat moet worden gevonden.

GetOrdinal(String)

Retourneert de index van het benoemde veld.

GetString(Int32)

Hiermee haalt u de tekenreekswaarde van het opgegeven veld op.

GetValue(Int32)

Retourneert de waarde van het opgegeven veld.

GetValues(Object[])

Hiermee wordt een matrix met objecten gevuld met de kolomwaarden van de huidige record.

IsDBNull(Int32)

Geef als resultaat of het opgegeven veld is ingesteld op null.

Van toepassing op