DataSet.CreateDataReader メソッド (DataTable[])
アセンブリ: System.Data (system.data.dll 内)

Dim instance As DataSet Dim dataTables As DataTable() Dim returnValue As DataTableReader returnValue = instance.CreateDataReader(dataTables)
戻り値
ソースの DataSet 内に格納されている DataTable インスタンスに対応する結果セットを 1 つ以上格納している DataTableReader。返される結果セットの順序は、dataTables パラメータにより指定されます。

返される DataTableReader 内の結果セットの順序を確認するために、DataSet 内の DataTable が空である場合は、返される DataTableReader 内の空の結果セットによって表されます。このオーバーロードされたバージョンを使用して DataTable インスタンスの一覧をパラメータとして指定できるため、返される DataTableReader における結果セットの順序を指定できます。

DataTable の 3 つのインスタンスを作成し、それぞれ DataSet に追加するコンソール アプリケーションの例を次に示します。この例では、CreateDataReader メソッドを呼び出し、返された DataTableReader の内容を表示します。DataTableReader 内の結果セットの順序は、DataTable の順序によって制御されます。
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
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(); } }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataSet.CreateDataReader メソッド

名前 | 説明 |
---|---|
DataSet.CreateDataReader () | DataTable ごとに 1 つの結果セットを含む DataTableReader を返します。順序は、Tables コレクション内のテーブルでの出現順序と同じです。 .NET Compact Framework によってサポートされています。 |
DataSet.CreateDataReader (DataTable[]) | 1 つの DataTable につき 1 つの結果セットを含む DataTableReader を返します。 .NET Compact Framework によってサポートされています。 |

DataSet.CreateDataReader メソッド ()
アセンブリ: System.Data (system.data.dll 内)

Dim instance As DataSet Dim returnValue As DataTableReader returnValue = instance.CreateDataReader
ソースの DataSet 内に格納されている DataTable インスタンスに対応する結果セットを 1 つ以上格納している DataTableReader。

返される DataTableReader 内の結果セットの順序を確認するために、DataSet 内の DataTable が空である場合は、返される DataTableReader 内の空の結果セットによって表されます。

3 つの DataTable インスタンスを作成し、それを DataSet に追加する例を次に示します。この例では、CreateDataReader メソッドを呼び出すプロシージャに入力済みの DataSet を渡した後、DataTableReader 内に格納されているすべての結果セットを反復処理します。コンソール ウィンドウに結果を表示します。
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
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(); } }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。

