DataSet.CreateDataReader Method ()

Note: This method is new in the .NET Framework version 2.0.

Returns a DataTableReader with one result set per DataTable, in the same sequence as the tables appear in the Tables collection.

Namespace: System.Data
Assembly: System.Data (in system.data.dll)

'Declaration
Public Function CreateDataReader As DataTableReader
'Usage
Dim instance As DataSet
Dim returnValue As DataTableReader

returnValue = instance.CreateDataReader
public DataTableReader CreateDataReader ()
public function CreateDataReader () : DataTableReader

Return Value

A DataTableReader containing one or more result sets, corresponding to the DataTable instances contained within the source DataSet.

In order to ensure that the order of the result sets within the returned DataTableReader, if a DataTable within the DataSet is empty, it is represented by an empty result set within the returned DataTableReader.

The following example creates three DataTable instances, and adds each to a DataSet. The example then passes the filled DataSet to a procedure that calls the CreateDataReader method, and proceeds to iterate through all the result sets contained within the DataTableReader. The example displays the results in the Console window.

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

The example displays the following output in the Console window:

1 Mary
2 Andy
3 Peter
4 Russ
========================
Empty DataTableReader
========================
1 Wireless Network Card
2 Hard Drive
3 Monitor
4 CPU
========================

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

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0

.NET Compact Framework

Supported in: 2.0

Community Additions

ADD
Show: