DataSet.CreateDataReader メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
DataTableReader ごとに 1 つの結果セットを含む DataTable を返します。順序は、Tables コレクション内のテーブルでの出現順序と同じです。
オーバーロード
CreateDataReader(DataTable[]) |
1 つの DataTableReader につき 1 つの結果セットを含む DataTable を返します。 |
CreateDataReader() |
DataTableReader ごとに 1 つの結果セットを含む DataTable を返します。順序は、Tables コレクション内のテーブルでの出現順序と同じです。 |
例
この例では、コンソール アプリケーションで 3 つの DataTable インスタンスを作成し、それぞれに を DataSet追加します。 この例では、 メソッドを CreateDataReader 呼び出し、返された DataTableReaderの内容を表示します。 の結果セット DataTableReader
の順序は、パラメーターとして渡されるインスタンスの DataTable
順序によって制御されることに注意してください。
注意
この例では、 のオーバーロードされたバージョンの 1 つを使用する方法を示します CreateDataReader
。 使用可能なその他の例については、個々のオーバーロードに関するトピックを参照してください。
static DataTable customerTable;
static DataTable productTable;
static DataTable emptyTable;
static void Main()
{
DataSet dataSet = new DataSet();
// Add some DataTables to the DataSet, including
// an empty DataTable:
emptyTable = new DataTable();
productTable = GetProducts();
customerTable = GetCustomers();
dataSet.Tables.Add(customerTable);
dataSet.Tables.Add(emptyTable);
dataSet.Tables.Add(productTable);
TestCreateDataReader(dataSet);
Console.WriteLine("Press any key to continue.");
Console.ReadKey();
}
private static void TestCreateDataReader(DataSet dataSet)
{
// Given a DataSet, retrieve a DataTableReader
// allowing access to all the DataSet's data.
// Even though the dataset contains three DataTables,
// this code will only display the contents of two of them,
// because the code has limited the results to the
// DataTables stored in the tables array. Because this
// parameter is declared using the ParamArray keyword,
// you could also include a list of DataTable instances
// individually, as opposed to supplying an array of
// DataTables, as in this example:
using (DataTableReader reader =
dataSet.CreateDataReader(productTable, emptyTable))
{
do
{
if (!reader.HasRows)
{
Console.WriteLine("Empty DataTableReader");
}
else
{
PrintColumns(reader);
}
Console.WriteLine("========================");
} while (reader.NextResult());
}
}
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" });
table.AcceptChanges();
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" });
table.AcceptChanges();
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 emptyTable As DataTable
Private customerTable As DataTable
Private productTable As DataTable
Sub Main()
Dim dataSet As New DataSet
' Add some DataTables to the DataSet, including
' an empty DataTable:
emptyTable = New DataTable()
productTable = GetProducts()
customerTable = GetCustomers()
dataSet.Tables.Add(customerTable)
dataSet.Tables.Add(emptyTable)
dataSet.Tables.Add(productTable)
TestCreateDataReader(dataSet)
Console.WriteLine("Press any key to continue.")
Console.ReadKey()
End Sub
Private Sub TestCreateDataReader(ByVal dataSet As DataSet)
' Given a DataSet, retrieve a DataTableReader
' allowing access to all the DataSet's data.
' Even though the dataset contains three DataTables,
' this code will only display the contents of two of them,
' because the code has limited the results to the
' DataTables stored in the tables array. Because this
' parameter is declared using the ParamArray keyword,
' you could also include a list of DataTable instances
' individually, as opposed to supplying an array of
' DataTables, as in this example:
Using reader As DataTableReader = _
dataSet.CreateDataReader(productTable, emptyTable)
Do
If Not reader.HasRows Then
Console.WriteLine("Empty DataTableReader")
Else
PrintColumns(reader)
End If
Console.WriteLine("========================")
Loop While reader.NextResult()
End Using
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"})
table.AcceptChanges()
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"})
table.AcceptChanges()
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
この例では、コンソール ウィンドウに次のコードを表示します。
注釈
返された DataTableReader内の結果セットの順序を確認するために、 内DataSetの が空の場合DataTable、返される DataTableReader
内の空の結果セットによって表されます。
CreateDataReader(DataTable[])
- ソース:
- DataSet.cs
- ソース:
- DataSet.cs
- ソース:
- DataSet.cs
1 つの DataTableReader につき 1 つの結果セットを含む DataTable を返します。
public:
System::Data::DataTableReader ^ CreateDataReader(... cli::array <System::Data::DataTable ^> ^ dataTables);
public System.Data.DataTableReader CreateDataReader (params System.Data.DataTable[] dataTables);
member this.CreateDataReader : System.Data.DataTable[] -> System.Data.DataTableReader
Public Function CreateDataReader (ParamArray dataTables As DataTable()) As DataTableReader
パラメーター
- dataTables
- DataTable[]
DataTableReader で返される結果セットの順序を示す、DataTable の配列。
戻り値
ソースの DataTableReader 内に格納されている DataTable インスタンスに対応する結果セットを 1 つ以上格納している DataSet。 返される結果セットの順序は、dataTables
パラメーターにより指定されます。
例
この例では、コンソール アプリケーションで 3 つの DataTable インスタンスを作成し、それぞれに を DataSet追加します。 この例では、 メソッドを CreateDataReader 呼び出し、返された DataTableReaderの内容を表示します。 の結果セット DataTableReader
の順序は、パラメーターとして渡されるインスタンスの DataTable
順序によって制御されることに注意してください。 次の使用例は、[コンソール] ウィンドウに結果を表示します。
static DataTable customerTable;
static DataTable productTable;
static DataTable emptyTable;
static void Main()
{
DataSet dataSet = new DataSet();
// Add some DataTables to the DataSet, including
// an empty DataTable:
emptyTable = new DataTable();
productTable = GetProducts();
customerTable = GetCustomers();
dataSet.Tables.Add(customerTable);
dataSet.Tables.Add(emptyTable);
dataSet.Tables.Add(productTable);
TestCreateDataReader(dataSet);
Console.WriteLine("Press any key to continue.");
Console.ReadKey();
}
private static void TestCreateDataReader(DataSet dataSet)
{
// Given a DataSet, retrieve a DataTableReader
// allowing access to all the DataSet's data.
// Even though the dataset contains three DataTables,
// this code will only display the contents of two of them,
// because the code has limited the results to the
// DataTables stored in the tables array. Because this
// parameter is declared using the ParamArray keyword,
// you could also include a list of DataTable instances
// individually, as opposed to supplying an array of
// DataTables, as in this example:
using (DataTableReader reader =
dataSet.CreateDataReader(productTable, emptyTable))
{
do
{
if (!reader.HasRows)
{
Console.WriteLine("Empty DataTableReader");
}
else
{
PrintColumns(reader);
}
Console.WriteLine("========================");
} while (reader.NextResult());
}
}
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 emptyTable As DataTable
Private customerTable As DataTable
Private productTable As DataTable
Sub Main()
Dim dataSet As New DataSet
' Add some DataTables to the DataSet, including
' an empty DataTable:
emptyTable = New DataTable()
productTable = GetProducts()
customerTable = GetCustomers()
dataSet.Tables.Add(customerTable)
dataSet.Tables.Add(emptyTable)
dataSet.Tables.Add(productTable)
TestCreateDataReader(dataSet)
Console.WriteLine("Press any key to continue.")
Console.ReadKey()
End Sub
Private Sub TestCreateDataReader(ByVal dataSet As DataSet)
' Given a DataSet, retrieve a DataTableReader
' allowing access to all the DataSet's data.
' Even though the dataset contains three DataTables,
' this code will only display the contents of two of them,
' because the code has limited the results to the
' DataTables stored in the tables array. Because this
' parameter is declared using the ParamArray keyword,
' you could also include a list of DataTable instances
' individually, as opposed to supplying an array of
' DataTables, as in this example:
Using reader As DataTableReader = _
dataSet.CreateDataReader(productTable, emptyTable)
Do
If Not reader.HasRows Then
Console.WriteLine("Empty DataTableReader")
Else
PrintColumns(reader)
End If
Console.WriteLine("========================")
Loop While reader.NextResult()
End Using
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
注釈
内の が空の場合DataTableDataSet、返される DataTableReader内の結果セットの順序を確認するために、返される 内の空の結果セットによって表されますDataTableReader
。 このオーバーロードされたバージョンでは、パラメーターとしてインスタンスの DataTable
一覧を指定できるため、返される DataTableReader
内で結果セットを表示する順序を指定できます。
こちらもご覧ください
適用対象
CreateDataReader()
- ソース:
- DataSet.cs
- ソース:
- DataSet.cs
- ソース:
- DataSet.cs
DataTableReader ごとに 1 つの結果セットを含む DataTable を返します。順序は、Tables コレクション内のテーブルでの出現順序と同じです。
public:
System::Data::DataTableReader ^ CreateDataReader();
public System.Data.DataTableReader CreateDataReader ();
member this.CreateDataReader : unit -> System.Data.DataTableReader
Public Function CreateDataReader () As DataTableReader
戻り値
ソースの DataTableReader 内に格納されている DataTable インスタンスに対応する結果セットを 1 つ以上格納している DataSet。
例
次の例では、3 つの DataTable インスタンスを作成し、 にそれぞれを DataSet追加します。 次に、 メソッドを呼び出すプロシージャに塗りつぶ DataSet
された を CreateDataReader 渡し、 内 DataTableReaderに含まれるすべての結果セットを反復処理します。 次の使用例は、[コンソール] ウィンドウに結果を表示します。
static void Main()
{
DataSet dataSet = new DataSet();
// Add some DataTables to the DataSet, including
// an empty DataTable:
dataSet.Tables.Add(GetCustomers());
dataSet.Tables.Add(new DataTable());
dataSet.Tables.Add(GetProducts());
TestCreateDataReader(dataSet);
Console.WriteLine("Press any key to continue.");
Console.ReadKey();
}
private static void TestCreateDataReader(DataSet dataSet)
{
// Given a DataSet, retrieve a DataTableReader
// allowing access to all the DataSet's data:
using (DataTableReader reader = dataSet.CreateDataReader())
{
do
{
if (!reader.HasRows)
{
Console.WriteLine("Empty DataTableReader");
}
else
{
PrintColumns(reader);
}
Console.WriteLine("========================");
} while (reader.NextResult());
}
}
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();
}
}
Sub Main()
Dim dataSet As New DataSet
' Add some DataTables to the DataSet, including
' an empty DataTable:
dataSet.Tables.Add(GetCustomers())
dataSet.Tables.Add(New DataTable())
dataSet.Tables.Add(GetProducts())
TestCreateDataReader(dataSet)
Console.WriteLine("Press any key to continue.")
Console.ReadKey()
End Sub
Private Sub TestCreateDataReader(ByVal dataSet As DataSet)
' Given a DataSet, retrieve a DataTableReader
' allowing access to all the DataSet's data:
Using reader As DataTableReader = dataSet.CreateDataReader()
Do
If Not reader.HasRows Then
Console.WriteLine("Empty DataTableReader")
Else
PrintColumns(reader)
End If
Console.WriteLine("========================")
Loop While reader.NextResult()
End Using
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
注釈
返された DataTableReader内の結果セットの順序を確認するために、 内DataSetの が空の場合DataTable、返される 内の空の結果セットによって表されますDataTableReader
。
こちらもご覧ください
適用対象
.NET