DataTableReader 建構函式

定義

初始化 DataTableReader 類別的新執行個體。

多載

名稱 Description
DataTableReader(DataTable)

利用所提供DataTable的資料初始化類別的新DataTableReader實例。

DataTableReader(DataTable[])

使用提供的物件陣列DataTable初始化該DataTableReader類別的新實例。

DataTableReader(DataTable)

利用所提供DataTable的資料初始化類別的新DataTableReader實例。

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)

參數

dataTable
DataTable

新結果DataTableReader集從中DataTable獲得。

適用於

DataTableReader(DataTable[])

使用提供的物件陣列DataTable初始化該DataTableReader類別的新實例。

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

參數

dataTables
DataTable[]

提供新DataTableReader物件結果的物件陣列DataTable

範例

在以下範例中,TestConstructor 方法會建立兩個 DataTable 實例。 為了示範這個類別的DataTableReader建構子,範例會根據包含兩個 DataTables的陣列建立一個新DataTableReader建構子,並執行一個簡單的操作,將前幾欄的內容列印到主控台視窗。 為了測試此應用程式,請建立一個新的主控台應用程式,並將範例程式碼貼入新建立的檔案中。

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

控制台視窗顯示以下結果:

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

備註

如果你必須根據某個特定DataSet表格的全部或子集建立一個DataTableReader,請呼叫 DataSet's CreateDataReader 的方法。 如果你想根據一組DataTable不相關實例建立新DataTableReader實例,請使用此建構器。 如果 在原始碼DataSet中的排序不符合你的需求,你也可以利用此建構器重新排列 在 內的 。DataTablesDataTableReader

適用於