DataTableReader Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy DataTableReader klasy.Initializes a new instance of the DataTableReader class.

Przeciążenia

DataTableReader(DataTable)

Inicjuje nowe wystąpienie klasy DataTableReader przy użyciu danych z podanej DataTable.Initializes a new instance of the DataTableReader class by using data from the supplied DataTable.

DataTableReader(DataTable[])

Inicjuje nowe wystąpienie klasy DataTableReader przy użyciu dostarczonej tablicy obiektów DataTable.Initializes a new instance of the DataTableReader class using the supplied array of DataTable objects.

DataTableReader(DataTable)

Inicjuje nowe wystąpienie klasy DataTableReader przy użyciu danych z podanej DataTable.Initializes a new instance of the DataTableReader class by using data from the supplied DataTable.

public:
 DataTableReader(System::Data::DataTable ^ dataTable);
public DataTableReader (System.Data.DataTable dataTable);
new System.Data.DataTableReader : System.Data.DataTable -> System.Data.DataTableReader

Parametry

dataTable
DataTable

DataTable, z którego nowy DataTableReader uzyskuje swój zestaw wyników.The DataTable from which the new DataTableReader obtains its result set.

DataTableReader(DataTable[])

Inicjuje nowe wystąpienie klasy DataTableReader przy użyciu dostarczonej tablicy obiektów DataTable.Initializes a new instance of the DataTableReader class using the supplied array of DataTable objects.

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())

Parametry

dataTables
DataTable[]

Tablica obiektów DataTable, które dostarczają wyniki dla nowego obiektu DataTableReader.The array of DataTable objects that supplies the results for the new DataTableReader object.

Przykłady

W poniższym przykładzie metoda TestConstructor tworzy dwa wystąpienia DataTable.In the following example, the TestConstructor method creates two DataTable instances. Aby przedstawić ten Konstruktor dla klasy DataTableReader, przykład tworzy nowy DataTableReader na podstawie tablicy zawierającej dwa DataTablesi wykonuje prostą operację, drukując zawartość z pierwszych kilku kolumn do okna konsoli.In order to demonstrate this constructor for the DataTableReader class, the sample creates a new DataTableReader based on an array that contains the two DataTables, and performs a simple operation, printing the contents from the first few columns to the console window. Aby przetestować tę aplikację, należy utworzyć nową aplikację konsolową i wkleić przykładowy kod do nowo utworzonego pliku.In order to test this application, create a new Console application, and paste the sample code into the newly created file.

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

W oknie konsoli zostaną wyświetlone następujące wyniki:The Console window displays the following results:

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

Uwagi

Jeśli musisz utworzyć DataTableReader w oparciu o wszystkie lub podzbiór tabel w ramach określonego DataSet, wywołaj metodę CreateDataReader DataSet.If you must create a DataTableReader based on all or a subset of the tables within a specific DataSet, call the DataSet's CreateDataReader method. Jeśli chcesz utworzyć nowe wystąpienie DataTableReader na podstawie grupy wystąpień DataTable, które nie są powiązane z innymi, użyj tego konstruktora.If you want to create a new DataTableReader instance based on a group of DataTable instances that are not otherwise related, use this constructor. Możesz również skorzystać z tego konstruktora, aby zmienić kolejność DataTables w DataTableReader, jeśli ich kolejność w DataSet źródłowa nie spełnia Twoich potrzeb.You can also take advantage of this constructor to rearrange the ordering of the DataTables within the DataTableReader, if their ordering within their source DataSet does not meet your needs.

Dotyczy