Auf Englisch lesen

Freigeben über


DataTable.Select Methode

Definition

Ruft ein Array von DataRow-Objekten ab.

Überlädt

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, die die Filterkriterien erfüllen, in der angegebenen Sortierreihenfolge ab.

Select(String, String, DataViewRowState)

Ruft ein Array aller DataRow-Objekte ab, die die Filterkriterien in der Sortierreihenfolge erfüllen und zum angegebenen Zustand passen.

Select()

Quelle:
DataTable.cs
Quelle:
DataTable.cs
Quelle:
DataTable.cs

Ruft ein Array aller DataRow-Objekte ab.

public System.Data.DataRow[] Select ();

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"]);
    }
}

Hinweise

Um die richtige Sortierreihenfolge sicherzustellen, geben Sie Sortierkriterien mit Select(String, String) oder an Select(String, String, DataViewRowState).

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Select(String)

Quelle:
DataTable.cs
Quelle:
DataTable.cs
Quelle:
DataTable.cs

Ruft ein Array aller DataRow-Objekte ab, die den Filterkriterien entsprechen.

public System.Data.DataRow[] Select (string? filterExpression);
public System.Data.DataRow[] Select (string filterExpression);

Parameter

filterExpression
String

Die beim Filtern der Zeilen zu verwendenden Kriterien.

Gibt zurück

Ein Array von DataRow-Objekten.

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]);
    }
}

Hinweise

Verwenden Sie zum Erstellen des filterExpression Arguments dieselben Regeln, die für den Eigenschaftswert der DataColumn Klasse Expression gelten, um Filter zu erstellen.

Um die richtige Sortierreihenfolge sicherzustellen, geben Sie Sortierkriterien mit Select(String, String) oder an Select(String, String, DataViewRowState).

Wenn die Spalte im Filter einen NULL-Wert enthält, ist er nicht Teil des Ergebnisses.

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Select(String, String)

Quelle:
DataTable.cs
Quelle:
DataTable.cs
Quelle:
DataTable.cs

Ruft ein Array aller DataRow-Objekte, die die Filterkriterien erfüllen, in der angegebenen Sortierreihenfolge ab.

public System.Data.DataRow[] Select (string? filterExpression, string? sort);
public System.Data.DataRow[] Select (string filterExpression, string sort);

Parameter

filterExpression
String

Die beim Filtern der Zeilen zu verwendenden Kriterien.

sort
String

Eine Zeichenfolge, die die Spalte und die Sortierrichtung angibt.

Gibt zurück

Ein Array von DataRow-Objekten, die dem Filterausdruck entsprechen.

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]);
   }
}

Hinweise

Um das filterExpression Argument zu bilden, verwenden Sie dieselben Regeln zum Erstellen des Eigenschaftswerts Expression der DataColumn Klasse. Das Sort Argument verwendet auch die gleichen Regeln zum Erstellen der Zeichenfolgen der Expression Klasse.

Wenn die Spalte im Filter einen NULL-Wert enthält, ist er nicht Teil des Ergebnisses.

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Select(String, String, DataViewRowState)

Quelle:
DataTable.cs
Quelle:
DataTable.cs
Quelle:
DataTable.cs

Ruft ein Array aller DataRow-Objekte ab, die die Filterkriterien in der Sortierreihenfolge erfüllen und zum angegebenen Zustand passen.

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);

Parameter

filterExpression
String

Die beim Filtern der Zeilen zu verwendenden Kriterien.

sort
String

Eine Zeichenfolge, die die Spalte und die Sortierrichtung angibt.

recordStates
DataViewRowState

Einer der DataViewRowState-Werte.

Gibt zurück

Ein Array von DataRow-Objekten.

Beispiele

Im folgenden Beispiel werden ein Filterausdruck und ein Datensatzzustand 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();
    }
}

Hinweise

Um das filterExpression Argument zu bilden, verwenden Sie dieselben Regeln zum Erstellen des Eigenschaftswerts Expression der DataColumn Klasse. Das Sort Argument verwendet auch die gleichen Regeln zum Erstellen der Zeichenfolgen der Expression Klasse.

Wenn die Spalte im Filter einen NULL-Wert enthält, ist er nicht Teil des Ergebnisses.

Weitere Informationen

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1