DataTable.Select Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft ein Array von DataRow Objekten ab.
Überlädt
| Name | Beschreibung |
|---|---|
| Select() |
Ruft ein Array aller DataRow Objekte ab. |
| Select(String) |
Ruft ein Array aller DataRow Objekte ab, die den Filterkriterien entsprechen. |
| Select(String, String) |
Ruft ein Array aller DataRow Objekte ab, die den Filterkriterien entsprechen, in der angegebenen Sortierreihenfolge. |
| Select(String, String, DataViewRowState) |
Ruft ein Array aller DataRow Objekte ab, die dem Filter in der Reihenfolge der Sortierung entsprechen, die dem angegebenen Zustand entsprechen. |
Select()
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
Ruft ein Array aller DataRow Objekte ab.
public:
cli::array <System::Data::DataRow ^> ^ Select();
public System.Data.DataRow[] Select();
member this.Select : unit -> System.Data.DataRow[]
Public Function Select () As DataRow()
Gibt zurück
Ein Array von DataRow-Objekten.
Beispiele
Im folgenden Beispiel wird ein Array von DataRow Objekten über die Select Methode zurückgegeben.
private void GetRows()
{
// Get the DataTable of a DataSet.
DataTable table = DataSet1.Tables["Suppliers"];
DataRow[] rows = table.Select();
// Print the value one column of each DataRow.
for(int i = 0; i < rows.Length ; i++)
{
Console.WriteLine(rows[i]["CompanyName"]);
}
}
Private Sub GetRows()
' Get the DataTable of a DataSet.
Dim table As DataTable = DataSet1.Tables("Suppliers")
Dim rows() As DataRow = table.Select()
Dim i As Integer
' Print the value one column of each DataRow.
For i = 0 to rows.GetUpperBound(0)
Console.WriteLine(rows(i)("CompanyName"))
Next i
End Sub
Hinweise
Um die richtige Sortierreihenfolge sicherzustellen, geben Sie Sortierkriterien mit Select(String, String) oder Select(String, String, DataViewRowState).
Weitere Informationen
Gilt für:
Select(String)
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
Ruft ein Array aller DataRow Objekte ab, die den Filterkriterien entsprechen.
public:
cli::array <System::Data::DataRow ^> ^ Select(System::String ^ filterExpression);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members of types used in the filter expression might be trimmed.")]
public System.Data.DataRow[] Select(string? filterExpression);
public System.Data.DataRow[] Select(string? filterExpression);
public System.Data.DataRow[] Select(string filterExpression);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members of types used in the filter expression might be trimmed.")>]
member this.Select : string -> System.Data.DataRow[]
member this.Select : string -> System.Data.DataRow[]
Public Function Select (filterExpression As String) As DataRow()
Parameter
- filterExpression
- String
Die Kriterien, die zum Filtern der Zeilen verwendet werden sollen.
Gibt zurück
Ein Array von DataRow-Objekten.
- Attribute
Beispiele
Im folgenden Beispiel wird ein Filterausdruck verwendet, um ein Array von DataRow Objekten zurückzugeben.
private void GetRowsByFilter()
{
DataTable table = DataSet1.Tables["Orders"];
// Presuming the DataTable has a column named Date.
string expression;
expression = "Date > #1/1/00#";
DataRow[] foundRows;
// Use the Select method to find all rows matching the filter.
foundRows = table.Select(expression);
// Print column 0 of each returned row.
for(int i = 0; i < foundRows.Length; i ++)
{
Console.WriteLine(foundRows[i][0]);
}
}
Private Sub GetRowsByFilter()
Dim table As DataTable = DataSet1.Tables("Orders")
' Presuming the DataTable has a column named Date.
Dim expression As String
expression = "Date > #1/1/00#"
Dim foundRows() As DataRow
' Use the Select method to find all rows matching the filter.
foundRows = table.Select(expression)
Dim i As Integer
' Print column 0 of each returned row.
For i = 0 to foundRows.GetUpperBound(0)
Console.WriteLine(foundRows(i)(0))
Next i
End Sub
Hinweise
Verwenden Sie zum Erstellen des filterExpression Arguments die gleichen Regeln, die für den Eigenschaftswert der DataColumn Klasse Expression zum Erstellen von Filtern gelten.
Um die richtige Sortierreihenfolge sicherzustellen, geben Sie Sortierkriterien mit Select(String, String) oder Select(String, String, DataViewRowState).
Wenn die Spalte im Filter einen NULL-Wert enthält, ist sie nicht Teil des Ergebnisses.
Weitere Informationen
Gilt für:
Select(String, String)
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
Ruft ein Array aller DataRow Objekte ab, die den Filterkriterien entsprechen, in der angegebenen Sortierreihenfolge.
public:
cli::array <System::Data::DataRow ^> ^ Select(System::String ^ filterExpression, System::String ^ sort);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members of types used in the filter expression might be trimmed.")]
public System.Data.DataRow[] Select(string? filterExpression, string? sort);
public System.Data.DataRow[] Select(string? filterExpression, string? sort);
public System.Data.DataRow[] Select(string filterExpression, string sort);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members of types used in the filter expression might be trimmed.")>]
member this.Select : string * string -> System.Data.DataRow[]
member this.Select : string * string -> System.Data.DataRow[]
Public Function Select (filterExpression As String, sort As String) As DataRow()
Parameter
- filterExpression
- String
Die Kriterien, die zum Filtern der Zeilen verwendet werden sollen.
- sort
- String
Eine Zeichenfolge, die die Spalten- und Sortierrichtung angibt.
Gibt zurück
Ein Array von DataRow Objekten, die dem Filterausdruck entsprechen.
- Attribute
Beispiele
Im folgenden Beispiel wird ein Filterausdruck verwendet, um ein Array von DataRow Objekten zurückzugeben.
using System;
using System.Data;
public class A {
public static void Main() {
DataTable table = new DataTable("Orders");
table.Columns.Add("OrderID", typeof(Int32));
table.Columns.Add("OrderQuantity", typeof(Int32));
table.Columns.Add("CompanyName", typeof(string));
table.Columns.Add("Date", typeof(DateTime));
DataRow newRow = table.NewRow();
newRow["OrderID"] = 1;
newRow["OrderQuantity"] = 3;
newRow["CompanyName"] = "NewCompanyName";
newRow["Date"] = "1979, 1, 31";
// Add the row to the rows collection.
table.Rows.Add(newRow);
DataRow newRow2 = table.NewRow();
newRow2["OrderID"] = 2;
newRow2["OrderQuantity"] = 2;
newRow2["CompanyName"] = "NewCompanyName1";
table.Rows.Add(newRow2);
DataRow newRow3 = table.NewRow();
newRow3["OrderID"] = 3;
newRow3["OrderQuantity"] = 2;
newRow3["CompanyName"] = "NewCompanyName2";
table.Rows.Add(newRow3);
// Presuming the DataTable has a column named Date.
string expression = "Date = '1/31/1979' or OrderID = 2";
// string expression = "OrderQuantity = 2 and OrderID = 2";
// Sort descending by column named CompanyName.
string sortOrder = "CompanyName ASC";
DataRow[] foundRows;
// Use the Select method to find all rows matching the filter.
foundRows = table.Select(expression, sortOrder);
// Print column 0 of each returned row.
for (int i = 0; i < foundRows.Length; i++)
Console.WriteLine(foundRows[i][2]);
}
}
Imports System.Data
Public Class A
Public Shared Sub Main()
Dim table As New DataTable("Orders")
table.Columns.Add("OrderID", GetType(Int32))
table.Columns.Add("OrderQuantity", GetType(Int32))
table.Columns.Add("CompanyName", GetType(String))
table.Columns.Add("Date", GetType(DateTime))
Dim newRow As DataRow = table.NewRow()
newRow("OrderID") = 1
newRow("OrderQuantity") = 3
newRow("CompanyName") = "NewCompanyName"
newRow("Date") = "1979, 1, 31"
' Add the row to the rows collection.
table.Rows.Add(newRow)
Dim newRow2 As DataRow = table.NewRow()
newRow2("OrderID") = 2
newRow2("OrderQuantity") = 2
newRow2("CompanyName") = "NewCompanyName1"
table.Rows.Add(newRow2)
Dim newRow3 As DataRow = table.NewRow()
newRow3("OrderID") = 3
newRow3("OrderQuantity") = 2
newRow3("CompanyName") = "NewCompanyName2"
table.Rows.Add(newRow3)
' Presuming the DataTable has a column named Date.
Dim expression As String = "Date = '1/31/1979' or OrderID = 2"
' Dim expression As String = "OrderQuantity = 2 and OrderID = 2"
' Sort descending by column named CompanyName.
Dim sortOrder As String = "CompanyName ASC"
Dim foundRows As DataRow()
' Use the Select method to find all rows matching the filter.
foundRows = table.[Select](expression, sortOrder)
' Print column 0 of each returned row.
For i As Integer = 0 To foundRows.Length - 1
Console.WriteLine(foundRows(i)(2))
Next
End Sub
End Class
Hinweise
Um das filterExpression Argument zu bilden, verwenden Sie die gleichen Regeln zum Erstellen des Eigenschaftswerts Expression der DataColumn Klasse. Das Sort Argument verwendet auch die gleichen Regeln zum Erstellen der Zeichenfolgen der Klasse Expression .
Wenn die Spalte im Filter einen NULL-Wert enthält, ist sie nicht Teil des Ergebnisses.
Weitere Informationen
Gilt für:
Select(String, String, DataViewRowState)
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
Ruft ein Array aller DataRow Objekte ab, die dem Filter in der Reihenfolge der Sortierung entsprechen, die dem angegebenen Zustand entsprechen.
public:
cli::array <System::Data::DataRow ^> ^ Select(System::String ^ filterExpression, System::String ^ sort, System::Data::DataViewRowState recordStates);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members of types used in the filter expression might be trimmed.")]
public System.Data.DataRow[] Select(string? filterExpression, string? sort, System.Data.DataViewRowState recordStates);
public System.Data.DataRow[] Select(string? filterExpression, string? sort, System.Data.DataViewRowState recordStates);
public System.Data.DataRow[] Select(string filterExpression, string sort, System.Data.DataViewRowState recordStates);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members of types used in the filter expression might be trimmed.")>]
member this.Select : string * string * System.Data.DataViewRowState -> System.Data.DataRow[]
member this.Select : string * string * System.Data.DataViewRowState -> System.Data.DataRow[]
Public Function Select (filterExpression As String, sort As String, recordStates As DataViewRowState) As DataRow()
Parameter
- filterExpression
- String
Die Kriterien, die zum Filtern der Zeilen verwendet werden sollen.
- sort
- String
Eine Zeichenfolge, die die Spalten- und Sortierrichtung angibt.
- recordStates
- DataViewRowState
Einer der DataViewRowState Werte.
Gibt zurück
Ein Array von DataRow-Objekten.
- Attribute
Beispiele
Im folgenden Beispiel wird ein Filterausdruck und ein Datensatzstatus verwendet, um ein Array von DataRow Objekten zurückzugeben.
private static void GetRowsByFilter()
{
DataTable customerTable = new DataTable("Customers");
// Add columns
customerTable.Columns.Add("id", typeof(int));
customerTable.Columns.Add("name", typeof(string));
// Set PrimaryKey
customerTable.Columns[ "id" ].Unique = true;
customerTable.PrimaryKey = new DataColumn[]
{ customerTable.Columns["id"] };
// Add ten rows
for(int id=1; id<=10; id++)
{
customerTable.Rows.Add(
new object[] { id, string.Format("customer{0}", id) });
}
customerTable.AcceptChanges();
// Add another ten rows
for(int id=11; id<=20; id++)
{
customerTable.Rows.Add(
new object[] { id, string.Format("customer{0}", id) });
}
string expression;
string sortOrder;
expression = "id > 5";
// Sort descending by column named CompanyName.
sortOrder = "name DESC";
// Use the Select method to find all rows matching the filter.
DataRow[] foundRows =
customerTable.Select(expression, sortOrder,
DataViewRowState.Added);
PrintRows(foundRows, "filtered rows");
foundRows = customerTable.Select();
PrintRows(foundRows, "all rows");
}
private static void PrintRows(DataRow[] rows, string label)
{
Console.WriteLine("\n{0}", label);
if(rows.Length <= 0)
{
Console.WriteLine("no rows found");
return;
}
foreach(DataRow row in rows)
{
foreach(DataColumn column in row.Table.Columns)
{
Console.Write("\table {0}", row[column]);
}
Console.WriteLine();
}
}
Private Sub GetRowsByFilter()
Dim customerTable As New DataTable("Customers")
' Add columns
customerTable.Columns.Add("id", GetType(Integer))
customerTable.Columns.Add("name", GetType(String))
' Set PrimaryKey
customerTable.Columns("id").Unique = True
customerTable.PrimaryKey = New DataColumn() _
{customerTable.Columns("id")}
' add ten rows
Dim id As Integer
For id = 1 To 10
customerTable.Rows.Add( _
New Object() {id, String.Format("customer{0}", id)})
Next id
customerTable.AcceptChanges()
' add another ten rows
For id = 11 To 20
customerTable.Rows.Add( _
New Object() {id, String.Format("customer{0}", id)})
Next id
Dim expression As String
Dim sortOrder As String
expression = "id > 5"
' Sort descending by CompanyName column.
sortOrder = "name DESC"
' Use the Select method to find all rows matching the filter.
Dim foundRows As DataRow() = _
customerTable.Select(expression, sortOrder, _
DataViewRowState.Added)
PrintRows(foundRows, "filtered rows")
foundRows = customerTable.Select()
PrintRows(foundRows, "all rows")
End Sub
Private Sub PrintRows(ByVal rows() As DataRow, ByVal label As String)
Console.WriteLine("\n{0}", label)
If rows.Length <= 0 Then
Console.WriteLine("no rows found")
Exit Sub
End If
Dim row As DataRow
Dim column As DataColumn
For Each row In rows
For Each column In row.Table.Columns
Console.Write("\table {0}", row(column))
Next column
Console.WriteLine()
Next row
End Sub
Hinweise
Um das filterExpression Argument zu bilden, verwenden Sie die gleichen Regeln zum Erstellen des Eigenschaftswerts Expression der DataColumn Klasse. Das Sort Argument verwendet auch die gleichen Regeln zum Erstellen der Zeichenfolgen der Klasse Expression .
Wenn die Spalte im Filter einen NULL-Wert enthält, ist sie nicht Teil des Ergebnisses.