DataTable.CreateDataReader Yöntem

Tanım

DataTableReaderBu, içindeki verilere karşılık gelen bir döndürür DataTable .Returns a DataTableReader corresponding to the data within this DataTable.

public:
 System::Data::DataTableReader ^ CreateDataReader();
public System.Data.DataTableReader CreateDataReader ();
member this.CreateDataReader : unit -> System.Data.DataTableReader
Public Function CreateDataReader () As DataTableReader

Döndürülenler

DataTableReader

DataTableReaderKaynak örneğe karşılık gelen bir sonuç kümesi içerir DataTable .A DataTableReader containing one result set, corresponding to the source DataTable instance.

Örnekler

Aşağıdaki konsol uygulaması bir örnek oluşturur DataTable .The following console application creates a DataTable instance. Örnek daha sonra DataTable CreateDataReader , içinde yer alan sonuçlar arasında yineleme yapan yöntemini çağıran bir yordama geçirilir DataTableReader .The example then passes the filled DataTable to a procedure that calls the CreateDataReader method, which iterates through the results contained within the DataTableReader.

static void Main()
{
    TestCreateDataReader(GetCustomers());
    Console.WriteLine("Press any key to continue.");
    Console.ReadKey();
}

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();
    }
}
Sub Main()
  TestCreateDataReader(GetCustomers())
  Console.WriteLine("Press any key to continue.")
  Console.ReadKey()
End Sub

Private Sub TestCreateDataReader(ByVal dt As DataTable)
  ' Given a DataTable, retrieve a DataTableReader
  ' allowing access to all the tables's data:
  Using reader As DataTableReader = dt.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 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

Örnek, konsol penceresinde aşağıdaki çıktıyı görüntüler:The example displays the following output in the console window:

1 Mary

2 Andy

3 Peter

4 Russ

Şunlara uygulanır

Ayrıca bkz.