DataTableReader.HasRows Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá hodnotu, která označuje, zda DataTableReader obsahuje jeden nebo více řádků.
public:
virtual property bool HasRows { bool get(); };
public override bool HasRows { get; }
member this.HasRows : bool
Public Overrides ReadOnly Property HasRows As Boolean
Hodnota vlastnosti
true
pokud obsahuje DataTableReader jeden nebo více řádků, v opačném případě false
.
Výjimky
Došlo k pokusu o načtení informací o uzavřeném DataTableReaderobjektu .
Příklady
Následující příklad vyplní dvě DataTable instance daty. První DataTable obsahuje jeden řádek a druhý neobsahuje žádné řádky. Příklad pak vytvoří DataTableReader objekt, který obsahuje oba DataTable objekty, a zavolá PrintData metodu zobrazit obsah každého, zkontroluje hodnotu HasRows vlastnosti každého z nich před provedením volání PrintData.
private static void TestHasRows()
{
DataTable customerTable = GetCustomers();
DataTable productTable = GetProducts();
using (DataTableReader reader = new DataTableReader(
new DataTable[] { customerTable, productTable }))
{
do
{
if (reader.HasRows)
{
PrintData(reader);
}
} while (reader.NextResult());
}
Console.WriteLine("Press Enter to finish.");
Console.ReadLine();
}
private static void PrintData(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 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" });
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 };
return table;
}
Private Sub TestHasRows()
'Retrieve one row from the Store table:
Dim customerTable As DataTable = GetCustomers()
Dim productsTable As DataTable = GetProducts()
Using reader As New DataTableReader( _
New DataTable() {customerTable, productsTable})
Do
If reader.HasRows Then
PrintData(reader)
End If
Loop While reader.NextResult()
End Using
Console.WriteLine("Press Enter to finish.")
Console.ReadLine()
End Sub
Private Sub PrintData( _
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("{0} ", reader(i))
Next
Console.WriteLine()
Loop
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"})
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}
Return table
End Function
Poznámky
Vlastnost HasRows
vrátí informace o aktuální sadě výsledků. DataTableReader Pokud obsahuje více sad výsledků, můžete prozkoumat hodnotu HasRows
vlastnosti ihned po volání NextResult metody, abyste zjistili, zda nová sada výsledků obsahuje řádky.
HasRows
Pomocí vlastnosti se vyhnete požadavku na Read volání metody DataTableReader v případě, že v aktuální sadě výsledků nejsou žádné řádky.