6.6. Converting a DataSet to a DataReader
Problem
You need to access the data in a DataSet using DataReader mechanisms.
Solution
Use the CreateDataReader() method of the DataSet object.
The solution uses a DataAdapter to fill a DataSet with two result sets—the first five rows from HumanResources.Department and the first five rows in the Person.Contact in AdventureWorks. First, the CreateDataReader() method of the DataSet is used to convert the DataSet to a DataTableReader. Some metadata for the DataTableReader is output to the console. Next, the overloaded CreateDataReader(DataTable[]) method is used to convert only the Person.Contact DataTable to a DataTableReader. Metadata is again output to the console to show the effect of using the overloaded method.
The C# code in Program.cs in the project ConvertDataSetToDataReader is shown in Example 6-6.
Example 6-6. File: Program.cs for ConvertDataSetToDataReader solution
using System;
using System.Data;
using System.Data.SqlClient;
namespace ConvertingDataSetToDataReader
{
class Program { static void Main(string[] args) { string sqlConnectString = "Data Source=(local);" + "Integrated security=SSPI;Initial Catalog=AdventureWorks;"; string sqlSelect = "SELECT TOP 5 DepartmentID, Name, GroupName " + "FROM HumanResources.Department;" + "SELECT TOP 5 ContactID, FirstName, LastName FROM " + "Person.Contact"; // Create a data adapter SqlDataAdapter da = new SqlDataAdapter(sqlSelect, sqlConnectString); da.TableMappings.Add("Table", "Department"); da.TableMappings.Add("Table1", ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access