DataTableReader 构造函数  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 DataTableReader 类的新实例。
重载
| DataTableReader(DataTable) | 通过使用提供的 DataTableReader 中的数据初始化 DataTable 类的新实例。 | 
| DataTableReader(DataTable[]) | 使用提供的 DataTableReader 对象的数组初始化 DataTable 类的新实例。 | 
DataTableReader(DataTable)
- Source:
- DataTableReader.cs
- Source:
- DataTableReader.cs
- Source:
- DataTableReader.cs
通过使用提供的 DataTableReader 中的数据初始化 DataTable 类的新实例。
public:
 DataTableReader(System::Data::DataTable ^ dataTable);public DataTableReader (System.Data.DataTable dataTable);new System.Data.DataTableReader : System.Data.DataTable -> System.Data.DataTableReaderPublic Sub New (dataTable As DataTable)参数
- dataTable
- DataTable
新的 DataTable 从中获取其结果集的 DataTableReader。
适用于
DataTableReader(DataTable[])
- Source:
- DataTableReader.cs
- Source:
- DataTableReader.cs
- Source:
- DataTableReader.cs
使用提供的 DataTableReader 对象的数组初始化 DataTable 类的新实例。
public:
 DataTableReader(cli::array <System::Data::DataTable ^> ^ dataTables);public DataTableReader (System.Data.DataTable[] dataTables);new System.Data.DataTableReader : System.Data.DataTable[] -> System.Data.DataTableReaderPublic Sub New (dataTables As DataTable())参数
- dataTables
- DataTable[]
用于为新的 DataTable 对象提供结果的 DataTableReader 对象数组。
示例
在以下示例中,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的 CreateDataReader 方法。 如果要基于一组DataTable不相关的实例创建新DataTableReader实例,请使用此构造函数。 还可以利用此构造函数来重新排列 中 DataTableReader的DataTables排序,如果它们在源DataSet中的排序不满足你的需求。