IDataRecord Schnittstelle

Definition

Bietet Zugriff auf die Spaltenwerte in jeder Zeile für eine DataReaderUnd wird von .NET-Datenanbietern implementiert, die auf relationale Datenbanken zugreifen.

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

Beispiele

Im folgenden Beispiel werden Instanzen der abgeleiteten Klassen, SqlConnection, , SqlCommandund SqlDataReader. Im Beispiel werden die Daten gelesen und in die Konsole geschrieben. Schließlich wird das Beispiel geschlossen SqlDataReader, und dann die 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

Hinweise

Mit den IDataReader Schnittstellen kann IDataRecord eine geerbte Klasse implementiert werden DataReader . Dies bietet eine Möglichkeit, einen oder mehrere Vorwärtsdatenströme von Resultsets zu lesen. Weitere Informationen zu DataReader Klassen finden Sie unter Abrufen von Daten mithilfe eines DataReader.

Eine Anwendung erstellt keine Instanz der IDataRecord Schnittstelle direkt, sondern erstellt eine Instanz einer Klasse, die erbt IDataRecord. In der Regel rufen Sie dazu eine DataReader durch die ExecuteReader Methode des Command Objekts ab.

Klassen, die erben IDataRecord , müssen alle geerbten Member implementieren und in der Regel zusätzliche Member definieren, um anbieterspezifische Funktionen hinzuzufügen.

Anbieter, die eine DataReader Implementierung implementieren, sind erforderlich, um Daten in Common Language Runtime (CLR)-Typen verfügbar zu machen. Die Typkoersion wird für einige Typen definiert, die nicht in der CLR enthalten sind. Auf diese Werte kann als alternative Typen zugegriffen werden, die CLR-Typen entsprechen. In der folgenden Tabelle werden beispielsweise vorgeschlagene Zuordnungen von OLE DB-Datentypen zu CLR-Typen mit alternativen Typen in Klammern aufgelistet.

OLE DB-Typ CLR-Typ
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 null
DBTYPE_ERROR ExterneAusnahme
DBTYPE_FILETIME DateTime
DBTYPE_GUID Leitfaden
DBTYPE_HCHAPTER Nicht unterstützt
DBTYPE_I1 SByte
DBTYPE_I2 Int16
DBTYPE_I4 Int32
DBTYPE_I8 Int64
DBTYPE_IDISPATCH Objekt
DBTYPE_IUNKNOWN Objekt
DBTYPE_NULL DBNull.Value
DBTYPE_NUMERIC Decimal
DBTYPE_PROPVARIANT Objekt
DBTYPE_R4 Ledig
DBTYPE_R8 Double
DBTYPE_STR string
DBTYPE_UDT Nicht unterstützt
DBTYPE_UI1 Byte (Int16)
DBTYPE_UI2 UInt16 (Int32)
DBTYPE_UI4 UInt32 (Int64)
DBTYPE_UI8 UInt64 (Dezimal)
DBTYPE_VARIANT Objekt
DBTYPE_VARNUMERIC Nicht unterstützt
DBTYPE_WSTR string

Eigenschaften

Name Beschreibung
FieldCount

Ruft die Anzahl der Spalten in der aktuellen Zeile ab.

Item[Int32]

Ruft die Spalte ab, die sich am angegebenen Index befindet.

Item[String]

Ruft die Spalte mit dem angegebenen Namen ab.

Methoden

Name Beschreibung
GetBoolean(Int32)

Ruft den Wert der angegebenen Spalte als booleschen Wert ab.

GetByte(Int32)

Ruft den 8-Bit-ganzzahligen Wert der angegebenen Spalte ab.

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

Liest einen Bytestrom aus dem angegebenen Spaltenoffset als Array, beginnend mit dem angegebenen Pufferoffset, in den Puffer.

GetChar(Int32)

Ruft den Zeichenwert der angegebenen Spalte ab.

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

Liest einen Datenstrom von Zeichen aus dem angegebenen Spaltenoffset in den Puffer als Array ab dem angegebenen Pufferoffset.

GetData(Int32)

Gibt einen IDataReader Wert für die angegebene Spalten-Ordnungszahl zurück.

GetDataTypeName(Int32)

Ruft die Datentypinformationen für das angegebene Feld ab.

GetDateTime(Int32)

Ruft den Datums- und Uhrzeitdatenwert des angegebenen Felds ab.

GetDecimal(Int32)

Ruft den numerischen Wert mit fester Position des angegebenen Felds ab.

GetDouble(Int32)

Ruft die Gleitkommazahl mit doppelter Genauigkeit des angegebenen Felds ab.

GetFieldType(Int32)

Ruft die Type Informationen ab, die dem Typ der Object zurückgegeben werden.GetValue(Int32)

GetFloat(Int32)

Ruft die Gleitkommazahl mit einfacher Genauigkeit des angegebenen Felds ab.

GetGuid(Int32)

Gibt den GUID-Wert des angegebenen Felds zurück.

GetInt16(Int32)

Ruft den 16-Bit-ganzzahligen Wert des angegebenen Felds ab.

GetInt32(Int32)

Ruft den ganzzahligen 32-Bit-Wert des angegebenen Felds ab.

GetInt64(Int32)

Ruft den ganzzahligen 64-Bit-Wert des angegebenen Felds ab.

GetName(Int32)

Ruft den Namen für das zu suchende Feld ab.

GetOrdinal(String)

Gibt den Index des benannten Felds zurück.

GetString(Int32)

Ruft den Zeichenfolgenwert des angegebenen Felds ab.

GetValue(Int32)

Gibt den Wert des angegebenen Felds zurück.

GetValues(Object[])

Füllt ein Array von Objekten mit den Spaltenwerten des aktuellen Datensatzes auf.

IsDBNull(Int32)

Gibt zurück, ob das angegebene Feld auf NULL festgelegt ist.

Gilt für: