DataTable.CreateDataReader Method ()
.NET Framework (current version)
Returns a DataTableReader corresponding to the data within this DataTable.
Assembly: System.Data (in System.Data.dll)
Return Value
Type: System.Data.DataTableReaderA DataTableReader containing one result set, corresponding to the source DataTable instance.
The following console application creates a DataTable instance. The example then passes the filled DataTableto a procedure that calls the CreateDataReader method, which iterates through the results contained within the DataTableReader.
private static void TestCreateDataReader(DataTable dt) { // Given a DataTable, retrieve a DataTableReader // allowing access to all the tables' data: using (DataTableReader reader = dt.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 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(); } }
The example displays the following output in the console window:
1 Mary
2 Andy
3 Peter
4 Russ
.NET Framework
Available since 2.0
Available since 2.0
Show: