DataTableReader 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
初始化 DataTableReader 類別的新執行個體。
多載
DataTableReader(DataTable) |
使用所提供之 DataTableReader 的資料,初始化 DataTable 類別的新執行個體。 |
DataTableReader(DataTable[]) |
使用 DataTableReader 物件所提供的陣列,初始化 DataTable 類別的新執行個體。 |
DataTableReader(DataTable)
使用所提供之 DataTableReader 的資料,初始化 DataTable 類別的新執行個體。
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
DataTable,新的 DataTableReader 從中取得其結果集。
適用於
DataTableReader(DataTable[])
使用 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.DataTableReader
Public 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實例,請使用這個建構函式。 如果其來源內的DataSet
排序DataTables
不符合您的需求,您也可以利用這個建構函式來重新排列 內的 DataTableReader
排序。