Freigeben über


DataTableReader Konstruktoren

Definition

Initialisiert eine neue Instanz der DataTableReader-Klasse.

Überlädt

DataTableReader(DataTable)

Initialisiert unter Verwendung von Daten aus der bereitgestellten DataTableReader eine neue Instanz der DataTable-Klasse.

DataTableReader(DataTable[])

Initialisiert eine neue Instanz der DataTableReader-Klasse unter Verwendung des bereitgestellten Arrays von DataTable-Objekten.

DataTableReader(DataTable)

Quelle:
DataTableReader.cs
Quelle:
DataTableReader.cs
Quelle:
DataTableReader.cs

Initialisiert unter Verwendung von Daten aus der bereitgestellten DataTableReader eine neue Instanz der DataTable-Klasse.

public:
 DataTableReader(System::Data::DataTable ^ dataTable);
public DataTableReader (System.Data.DataTable dataTable);
new System.Data.DataTableReader : System.Data.DataTable -> System.Data.DataTableReader
Public Sub New (dataTable As DataTable)

Parameter

dataTable
DataTable

Die DataTable, von der der neue DataTableReader sein Resultset erhält.

Gilt für:

DataTableReader(DataTable[])

Quelle:
DataTableReader.cs
Quelle:
DataTableReader.cs
Quelle:
DataTableReader.cs

Initialisiert eine neue Instanz der DataTableReader-Klasse unter Verwendung des bereitgestellten Arrays von DataTable-Objekten.

public:
 DataTableReader(cli::array <System::Data::DataTable ^> ^ dataTables);
public DataTableReader (System.Data.DataTable[] dataTables);
new System.Data.DataTableReader : System.Data.DataTable[] -> System.Data.DataTableReader
Public Sub New (dataTables As DataTable())

Parameter

dataTables
DataTable[]

Das Array von DataTable-Objekten, das die Ergebnisse für das neue DataTableReader-Objekt bereitstellt.

Beispiele

Im folgenden Beispiel erstellt die TestConstructor-Methode zwei DataTable Instanzen. Um diesen Konstruktor für die DataTableReader Klasse zu veranschaulichen, erstellt das Beispiel basierend auf einem DataTableReader Array, das die beiden DataTablesenthält, und führt einen einfachen Vorgang aus, wobei der Inhalt der ersten Spalten im Konsolenfenster gedruckt wird. Um diese Anwendung zu testen, erstellen Sie eine neue Konsolenanwendung, und fügen Sie den Beispielcode in die neu erstellte Datei ein.

private static void TestConstructor()
{
    // Create two data adapters, one for each of the two
    // DataTables to be filled.
    DataTable customerDataTable = GetCustomers();
    DataTable productDataTable = GetProducts();

    // Create the new DataTableReader.
    using (DataTableReader reader = new DataTableReader(
               new DataTable[] { customerDataTable, productDataTable }))
    {
        // Print the contents of each of the result sets.
        do
        {
            PrintColumns(reader);
        } while (reader.NextResult());
    }

    Console.WriteLine("Press Enter to finish.");
    Console.ReadLine();
}

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 DataTable GetProducts()
{
    // Create sample Products 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, "Wireless Network Card" });
    table.Rows.Add(new object[] { 2, "Hard Drive" });
    table.Rows.Add(new object[] { 3, "Monitor" });
    table.Rows.Add(new object[] { 4, "CPU" });
    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();
    }
}
Private Sub TestConstructor()
   ' Create two data adapters, one for each of the two
   ' DataTables to be filled.
   Dim customerDataTable As DataTable = GetCustomers()
   Dim productDataTable As DataTable = GetProducts()

   ' Create the new DataTableReader.
   Using reader As New DataTableReader( _
      New DataTable() {customerDataTable, productDataTable})

      ' Print the contents of each of the result sets.
      Do
         PrintColumns(reader)
      Loop While reader.NextResult()
   End Using

   Console.WriteLine("Press Enter to finish.")
   Console.ReadLine()

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 Function GetProducts() As DataTable
   ' Create sample Products 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, "Wireless Network Card"})
   table.Rows.Add(New Object() {2, "Hard Drive"})
   table.Rows.Add(New Object() {3, "Monitor"})
   table.Rows.Add(New Object() {4, "CPU"})
   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 Konsolenfenster werden die folgenden Ergebnisse angezeigt:

1 Mary  
2 Andy  
3 Peter  
4 Russ  
1 Wireless Network Card  
2 Hard Drive  
3 Monitor  
4 CPU  

Hinweise

Wenn Sie eine DataTableReader auf der Grundlage aller oder einer Teilmenge der Tabellen in einem bestimmten DataSeterstellen müssen, rufen Sie die DataSet-Methode von auf CreateDataReader . Wenn Sie eine neue DataTableReader instance erstellen möchten, die auf einer Gruppe von DataTable Instanzen basiert, die nicht anderweitig verknüpft sind, verwenden Sie diesen Konstruktor. Sie können diesen Konstruktor auch nutzen, um die Reihenfolge von innerhalb DataTableReadervon DataTables neu anzuordnen, wenn ihre Reihenfolge innerhalb der Quelle DataSet nicht Ihren Anforderungen entspricht.

Gilt für: