DataTableReader.NextResult Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Avance le DataTableReader jusqu'au jeu de résultats suivant, s'il existe.
public:
override bool NextResult();
public override bool NextResult ();
override this.NextResult : unit -> bool
Public Overrides Function NextResult () As Boolean
Retours
true
s'il existe un autre jeu de résultats ; sinon, false
.
Exceptions
Une tentative a été effectuée pour naviguer dans un DataTableReader fermé.
Exemples
Dans l’exemple suivant, la méthode TestConstructor crée deux DataTable instances. Pour illustrer ce constructeur pour la DataTableReader classe, l’exemple crée un nouveau DataTableReader
basé sur un tableau qui contient les deux DataTables
et effectue une opération simple, en imprimant le contenu des premières colonnes dans la fenêtre de console. Pour tester cette application, créez une application Console et collez l’exemple de code dans le fichier nouvellement créé.
private static void TestConstructor()
{
// Create two data adapters, one for each of the two
// DataTables to be filled.
DataTable customerDataTable = GetCustomers();
DataTable productDataTable = GetProducts();
// Create the new DataTableReader.
using (DataTableReader reader = new DataTableReader(
new DataTable[] { customerDataTable, productDataTable }))
{
// Print the contents of each of the result sets.
do
{
PrintColumns(reader);
} while (reader.NextResult());
}
Console.WriteLine("Press Enter to finish.");
Console.ReadLine();
}
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 Sub TestConstructor()
' Create two data adapters, one for each of the two
' DataTables to be filled.
Dim customerDataTable As DataTable = GetCustomers()
Dim productDataTable As DataTable = GetProducts()
' Create the new DataTableReader.
Using reader As New DataTableReader( _
New DataTable() {customerDataTable, productDataTable})
' Print the contents of each of the result sets.
Do
PrintColumns(reader)
Loop While reader.NextResult()
End Using
Console.WriteLine("Press Enter to finish.")
Console.ReadLine()
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
La fenêtre Console affiche les résultats suivants :
1 Mary
2 Andy
3 Peter
4 Russ
1 Wireless Network Card
2 Hard Drive
3 Monitor
4 CPU
Remarques
Utilisé pour traiter plusieurs résultats qui peuvent être générés en créant un DataTableReader sur un DataSet qui contient deux tables ou plus, ou un tableau qui contient deux instances ou plus DataTable .
Un nouveau DataTableReader est positionné sur le premier résultat.