IDataReader IDataReader IDataReader IDataReader Interface

Definition

Ermöglicht das Lesen eines oder mehrerer Vorwärtsdatenströme von Resultsets, die durch Ausführen eines Befehls für eine Datenquelle abgerufen wurden, und wird von .NET Framework-Datenanbietern implementiert, die auf relationale Datenbanken zugreifen.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
Abgeleitet
Implementiert

Beispiele

Das folgende Beispiel erstellt Instanzen von abgeleiteten Klassen, SqlConnection, SqlCommand, und SqlDataReader.The following example creates instances of the derived classes, SqlConnection, SqlCommand, and SqlDataReader. Im Beispiel liest die Daten, die an die Konsole schreibt.The example reads through the data, writing it out to the console. Zum Schluss das Beispiel schließt den SqlDataReader, und klicken Sie dann die 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

Hinweise

Die IDataReader und IDataRecord Schnittstellen ermöglichen einer erbenden Klasse zum Implementieren einer DataReader Klasse, die Möglichkeit, lesen eine oder mehrere vorwärtsströme von Resultsets bereitstellt.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. Weitere Informationen zu DataReader finden Sie unter Abrufen von Daten mit einem DataReader.For more information about DataReader classes, see Retrieving Data Using a DataReader.

Eine Anwendung erstellt eine Instanz der keine der IDataReader -Schnittstelle direkt, sondern erstellt eine Instanz einer Klasse, die erbt IDataReader.An application does not create an instance of the IDataReader interface directly, but creates an instance of a class that inherits IDataReader.

Klassen, die erben IDataReader müssen Sie die geerbten Member implementieren und definieren Sie in der Regel zusätzliche Member, um anbieterspezifische Funktionen hinzuzufügen.Classes that inherit IDataReader must implement the inherited members, and typically define additional members to add provider-specific functionality.

Änderungen an der ein Resultset, die von einem anderen verarbeiten oder thread während des Lesens Daten möglicherweise sichtbar, für den Benutzer, der eine Klasse, implementiert eine IDataReader.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. Allerdings ist das genaue Verhalten sowohl Anbieter als auch vom Zeitpunkt abhängig.However, the precise behavior is both provider and timing dependent.

Hinweise für Ausführende

Benennen Sie die erbende Klasse in das Formular zur Förderung der Konsistenz zwischen .NET Framework-Datenanbieter Prv Befehl, wobei Prv ist das einheitliche Präfix für alle Klassen in einem bestimmten .NET Framework Data Provider-Namespace.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. Z. B. Sql ist das Präfix der der SqlDataAdapter -Klasse in der System.Data.SqlClient Namespace.For example, Sql is the prefix of the SqlDataAdapter class in the System.Data.SqlClient namespace.

Benutzer erstellen eine Instanz der keinem DataReader -Klasse direkt.Users do not create an instance of a DataReader class directly. Rufen sie stattdessen die DataReader -Instanz über die ExecuteReader -Methode der der Command Objekt.Instead, they obtain the DataReader instance through the ExecuteReader method of the Command object. Aus diesem Grund sollten Sie markieren DataReader Konstruktoren als intern.Therefore, you should mark DataReader constructors as internal.

Eigenschaften

Depth Depth Depth Depth

Ruft einen Wert ab, der die Tiefe der Schachtelung für die aktuelle Zeile angibt.Gets a value indicating the depth of nesting for the current row.

FieldCount FieldCount FieldCount FieldCount

Ruft die Anzahl der Spalten in der aktuellen Zeile ab.Gets the number of columns in the current row.

(Inherited from IDataRecord)
IsClosed IsClosed IsClosed IsClosed

Ruft einen Wert ab, der angibt, ob der Datenreader geschlossen ist.Gets a value indicating whether the data reader is closed.

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

Ruft die Spalte ab, die sich am angegebenen Index befindet.Gets the column located at the specified index.

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

Ruft die Spalte mit dem angegebenen Namen ab.Gets the column with the specified name.

(Inherited from IDataRecord)
RecordsAffected RecordsAffected RecordsAffected RecordsAffected

Ruft die Anzahl der durch die Ausführung der SQL-Anweisung geänderten, eingefügten oder gelöschten Zeilen ab.Gets the number of rows changed, inserted, or deleted by execution of the SQL statement.

Methoden

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

Schließt das IDataReader-Objekt.Closes the IDataReader Object.

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

Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

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

Ruft den Wert der angegebenen Spalte als booleschen Wert ab.Gets the value of the specified column as a Boolean.

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

Ruft den 8-Bit-Ganzzahlwert ohne Vorzeichen der angegebenen Spalte ab.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)

Liest einen Datenstrom aus dem angegebenen Spaltenoffset als Array in den Puffer, beginnend am angegebenen Pufferoffset.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)

Ruft den Zeichenwert der angegebenen Spalte ab.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)

Liest einen Zeichendatenstrom aus dem angegebenen Spaltenoffset als Array in den Puffer, beginnend am angegebenen Pufferoffset.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)

Gibt einen IDataReader für die angegebene Spaltenordnungszahl zurück.Returns an IDataReader for the specified column ordinal.

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

Ruft die Datentypinformationen für das angegebene Feld ab.Gets the data type information for the specified field.

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

Ruft das Datum und die Uhrzeit des angegebenen Felds ab.Gets the date and time data value of the specified field.

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

Ruft den an fester Position befindlichen numerischen Wert des angegebenen Felds ab.Gets the fixed-position numeric value of the specified field.

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

Ruft den Wert des angegebenen Felds als Gleitkommazahl mit doppelter Genauigkeit ab.Gets the double-precision floating point number of the specified field.

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

Ruft die Type-Informationen entsprechend dem Typ von Object ab, die von GetValue(Int32) zurückgegeben würden.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)

Ruft den Wert des angegebenen Felds als Gleitkommazahl mit einfacher Genauigkeit ab.Gets the single-precision floating point number of the specified field.

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

Gibt den GUID-Wert des angegebenen Felds zurück.Returns the GUID value of the specified field.

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

Ruft den 16-Bit-Ganzzahlwert mit Vorzeichen des angegebenen Felds ab.Gets the 16-bit signed integer value of the specified field.

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

Ruft den 32-Bit-Ganzzahl-mit-Vorzeichen-Wert des angegebenen Felds ab.Gets the 32-bit signed integer value of the specified field.

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

Ruft den 64-Bit-Ganzzahlwert mit Vorzeichen des angegebenen Felds ab.Gets the 64-bit signed integer value of the specified field.

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

Ruft den Namen des zu suchenden Felds ab.Gets the name for the field to find.

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

Gibt den Index des benannten Felds zurück.Return the index of the named field.

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

Gibt eine DataTable zurück, die die Spaltenmetadaten des IDataReader beschreibt.Returns a DataTable that describes the column metadata of the IDataReader.

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

Ruft den Zeichenfolgenwert des angegebenen Felds ab.Gets the string value of the specified field.

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

Gibt den Wert des angegebenen Felds zurück.Return the value of the specified field.

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

Füllt ein Array von Objekten mit den Spaltenwerten des aktuellen Datensatzes.Populates an array of objects with the column values of the current record.

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

Gibt zurück, ob das angegebene Feld auf NULL festgelegt ist.Return whether the specified field is set to null.

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

Setzt den Datenleser beim Lesen der Ergebnisse von SQL-Anweisungen auf das nächste Ergebnis.Advances the data reader to the next result, when reading the results of batch SQL statements.

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

Setzt den IDataReader auf den nächsten Datensatz.Advances the IDataReader to the next record.

Gilt für: