DataSet.CreateDataReader Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna um DataTableReader com um resultado definido por DataTable, na mesma sequência em que as tabelas são exibidas na coleção Tables.
Sobrecargas
CreateDataReader(DataTable[]) |
Retorna um DataTableReader com um conjunto de resultados por DataTable. |
CreateDataReader() |
Retorna um DataTableReader com um resultado definido por DataTable, na mesma sequência em que as tabelas são exibidas na coleção Tables. |
Exemplos
Este exemplo, um aplicativo de console, cria três DataTable instâncias e adiciona cada uma a um DataSet. O exemplo chama o CreateDataReader método e exibe o conteúdo do retornado DataTableReader. Observe que a ordem dos conjuntos de resultados no DataTableReader
é controlada pela ordem das DataTable
instâncias passadas como parâmetros.
Observação
Este exemplo mostra como usar uma das versões sobrecarregadas do CreateDataReader
. Para obter outros exemplos que possam estar disponíveis, consulte os tópicos de sobrecarga individuais.
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" });
table.AcceptChanges();
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" });
table.AcceptChanges();
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();
}
}
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"})
table.AcceptChanges()
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"})
table.AcceptChanges()
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
O exemplo exibe o seguinte código na janela Console:
Comentários
Para garantir a ordem dos conjuntos de resultados dentro do retornado DataTableReader, se um DataTable dentro do DataSet estiver vazio, ele será representado por um conjunto de resultados vazio dentro do retornado DataTableReader
.
CreateDataReader(DataTable[])
- Origem:
- DataSet.cs
- Origem:
- DataSet.cs
- Origem:
- DataSet.cs
Retorna um DataTableReader com um conjunto de resultados por DataTable.
public:
System::Data::DataTableReader ^ CreateDataReader(... cli::array <System::Data::DataTable ^> ^ dataTables);
public System.Data.DataTableReader CreateDataReader (params System.Data.DataTable[] dataTables);
member this.CreateDataReader : System.Data.DataTable[] -> System.Data.DataTableReader
Public Function CreateDataReader (ParamArray dataTables As DataTable()) As DataTableReader
Parâmetros
- dataTables
- DataTable[]
Uma matriz de DataTables que fornece a ordem dos conjuntos de resultado a serem retornados no DataTableReader.
Retornos
Um DataTableReader que contém um ou mais conjuntos de resultados, correspondentes às instâncias DataTable contidas no DataSet de origem. Os conjuntos de resultados retornados estão na ordem especificada pelo parâmetro dataTables
.
Exemplos
Este exemplo, um aplicativo de console, cria três DataTable instâncias e adiciona cada uma a um DataSet. O exemplo chama o CreateDataReader método e exibe o conteúdo do retornado DataTableReader. Observe que a ordem dos conjuntos de resultados no DataTableReader
é controlada pela ordem das DataTable
instâncias passadas como parâmetros. O exemplo exibe os resultados na janela Console.
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();
}
}
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
Comentários
Para garantir que a ordem dos conjuntos de resultados dentro do retornado DataTableReader, se um DataTable dentro do DataSet estiver vazio, ele será representado por um conjunto de resultados vazio dentro do retornado DataTableReader
. Como essa versão sobrecarregada permite fornecer uma lista de DataTable
instâncias como parâmetros, você pode especificar a ordem na qual os conjuntos de resultados aparecem dentro do retornado DataTableReader
.
Confira também
Aplica-se a
CreateDataReader()
- Origem:
- DataSet.cs
- Origem:
- DataSet.cs
- Origem:
- DataSet.cs
Retorna um DataTableReader com um resultado definido por DataTable, na mesma sequência em que as tabelas são exibidas na coleção Tables.
public:
System::Data::DataTableReader ^ CreateDataReader();
public System.Data.DataTableReader CreateDataReader ();
member this.CreateDataReader : unit -> System.Data.DataTableReader
Public Function CreateDataReader () As DataTableReader
Retornos
Um DataTableReader que contém um ou mais conjuntos de resultados, correspondentes às instâncias DataTable contidas no DataSet de origem.
Exemplos
O exemplo a seguir cria três DataTable instâncias e adiciona cada uma a um DataSet. Em seguida, o exemplo passa o preenchido DataSet
para um procedimento que chama o CreateDataReader método e prossegue para iterar por todos os conjuntos de resultados contidos no DataTableReader. O exemplo exibe os resultados na janela Console.
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();
}
}
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
Comentários
Para garantir a ordem dos conjuntos de resultados dentro do retornado DataTableReader, se um DataTable dentro do DataSet estiver vazio, ele será representado por um conjunto de resultados vazio dentro do retornado DataTableReader
.