DataTable.CreateDataReader Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt einen DataTableReader zurück, der den Daten innerhalb dieser DataTable entspricht.
public:
System::Data::DataTableReader ^ CreateDataReader();
public System.Data.DataTableReader CreateDataReader ();
member this.CreateDataReader : unit -> System.Data.DataTableReader
Public Function CreateDataReader () As DataTableReader
Gibt zurück
Ein DataTableReader, der entsprechend der DataTable-Quellinstanz ein Resultset enthält.
Beispiele
Die folgende Konsolenanwendung erstellt eine DataTable-Instanz. Im Beispiel wird anschließend die gefüllte DataTable an eine Prozedur übergeben, die die CreateDataReader-Methode aufruft. Diese durchläuft die im DataTableReader enthaltenen Ergebnisse.
static void Main()
{
TestCreateDataReader(GetCustomers());
Console.WriteLine("Press any key to continue.");
Console.ReadKey();
}
private static void TestCreateDataReader(DataTable dt)
{
// Given a DataTable, retrieve a DataTableReader
// allowing access to all the tables' data:
using (DataTableReader reader = dt.CreateDataReader())
{
do
{
if (!reader.HasRows)
{
Console.WriteLine("Empty DataTableReader");
}
else
{
PrintColumns(reader);
}
Console.WriteLine("========================");
} while (reader.NextResult());
}
}
private static DataTable GetCustomers()
{
// Create sample Customers table, in order
// to demonstrate the behavior of the DataTableReader.
DataTable table = new DataTable();
// Create two columns, ID and Name.
DataColumn idColumn = table.Columns.Add("ID", typeof(int));
table.Columns.Add("Name", typeof(string));
// Set the ID column as the primary key column.
table.PrimaryKey = new DataColumn[] { idColumn };
table.Rows.Add(new object[] { 1, "Mary" });
table.Rows.Add(new object[] { 2, "Andy" });
table.Rows.Add(new object[] { 3, "Peter" });
table.Rows.Add(new object[] { 4, "Russ" });
return table;
}
private static void PrintColumns(DataTableReader reader)
{
// Loop through all the rows in the DataTableReader
while (reader.Read())
{
for (int i = 0; i < reader.FieldCount; i++)
{
Console.Write(reader[i] + " ");
}
Console.WriteLine();
}
}
Sub Main()
TestCreateDataReader(GetCustomers())
Console.WriteLine("Press any key to continue.")
Console.ReadKey()
End Sub
Private Sub TestCreateDataReader(ByVal dt As DataTable)
' Given a DataTable, retrieve a DataTableReader
' allowing access to all the tables's data:
Using reader As DataTableReader = dt.CreateDataReader()
Do
If Not reader.HasRows Then
Console.WriteLine("Empty DataTableReader")
Else
PrintColumns(reader)
End If
Console.WriteLine("========================")
Loop While reader.NextResult()
End Using
End Sub
Private Function GetCustomers() As DataTable
' Create sample Customers table, in order
' to demonstrate the behavior of the DataTableReader.
Dim table As New DataTable
' Create two columns, ID and Name.
Dim idColumn As DataColumn = table.Columns.Add("ID", GetType(Integer))
table.Columns.Add("Name", GetType(String))
' Set the ID column as the primary key column.
table.PrimaryKey = New DataColumn() {idColumn}
table.Rows.Add(New Object() {1, "Mary"})
table.Rows.Add(New Object() {2, "Andy"})
table.Rows.Add(New Object() {3, "Peter"})
table.Rows.Add(New Object() {4, "Russ"})
Return table
End Function
Private Sub PrintColumns( _
ByVal reader As DataTableReader)
' Loop through all the rows in the DataTableReader.
Do While reader.Read()
For i As Integer = 0 To reader.FieldCount - 1
Console.Write(reader(i).ToString() & " ")
Next
Console.WriteLine()
Loop
End Sub
Im Beispiel wird die folgende Ausgabe im Konsolenfenster angezeigt:
1 Mary
2 Andy
3 Peter
4 Russ