IDataRecord-Schnittstelle
Ermöglicht den Zugriff auf die Spaltenwerte in den einzelnen Zeilen für einen DataReader und wird durch .NET Framework-Datenprovider implementiert, die auf relationale Datenbanken zugreifen.
Namespace: System.Data
Assembly: System.Data (in system.data.dll)
Syntax
'Declaration
Public Interface IDataRecord
'Usage
Dim instance As IDataRecord
public interface IDataRecord
public interface class IDataRecord
public interface IDataRecord
public interface IDataRecord
Hinweise
Die IDataReader-Schnittstelle und die IDataRecord-Schnittstelle aktivieren eine erbende Klasse, um eine DataReader-Klasse zu implementieren. Dies bietet eine Möglichkeit, einen oder mehrere Vorwärtsstreams von Resultsets zu lesen. Weitere Informationen über DataReader-Klassen finden Sie unter Abrufen von Daten mit einem DataReader. Weitere Informationen über das Implementieren von .NET Framework-Datenanbietern finden Sie unter Implementing a .NET Framework Data Provider.
Eine Anwendung erstellt eine Instanz der IDataRecord-Schnittstelle nicht direkt, sondern erstellt eine Instanz einer Klasse, die IDataRecord erbt. In der Regel wird hierzu ein DataReader über die ExecuteReader-Methode des Command-Objekts abgerufen.
Klassen, die IDataRecord erben, müssen alle geerbten Member implementieren. Sie definieren i. d. R. zusätzliche Member, um anbieterspezifische Funktionen hinzuzufügen.
Provider, die einen DataReader implementieren, müssen Daten in Typen der Common Language Runtime (CLR) verfügbar machen. Die Typumwandlung ist 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. Als Beispiel werden in der folgenden Tabelle vorgeschlagene Zuordnungen von OLE DB-Datentypen zu CLR-Typen aufgelistet. In der Spalte CLR-Typ werden außerdem alternative Typen in Klammern aufgeführt.
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 |
ExternalException |
DBTYPE_FILETIME |
DateTime |
DBTYPE_GUID |
Guid |
DBTYPE_HCHAPTER |
nicht unterstützt |
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 |
nicht unterstützt |
DBTYPE_UI1 |
byte (Int16) |
DBTYPE_UI2 |
UInt16 (Int32) |
DBTYPE_UI4 |
UInt32 (Int64) |
DBTYPE_UI8 |
UInt64 (Decimal) |
DBTYPE_VARIANT |
object |
DBTYPE_VARNUMERIC |
nicht unterstützt |
DBTYPE_WSTR |
string |
Beispiel
Im folgenden Beispiel werden Instanzen der abgeleiteten Klassen SqlConnection, SqlCommand und SqlDataReader erstellt. Im Beispiel werden die Daten gelesen und auf der Konsole ausgegeben. Abschließend wird im Beispiel der SqlDataReader und danach die SqlConnection geschlossen.
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()
Console.WriteLine(String.Format("{0}, {1}", _
reader(0), reader(1)))
End While
' Call Close when done reading.
reader.Close()
End Using
End Sub
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())
{
Console.WriteLine(String.Format("{0}, {1}",
reader[0], reader[1]));
}
// Call Close when done reading.
reader.Close();
}
}
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0