DataTable.Select Methode

Definitie

Hiermee haalt u een matrix van DataRow objecten op.

Overloads

Name Description
Select()

Hiermee haalt u een matrix van alle DataRow objecten op.

Select(String)

Hiermee haalt u een matrix op van alle DataRow objecten die voldoen aan de filtercriteria.

Select(String, String)

Hiermee haalt u een matrix op van alle DataRow objecten die voldoen aan de filtercriteria, in de opgegeven sorteervolgorde.

Select(String, String, DataViewRowState)

Hiermee haalt u een matrix op van alle DataRow objecten die overeenkomen met het filter in de volgorde van de sortering die overeenkomt met de opgegeven status.

Select()

Hiermee haalt u een matrix van alle DataRow objecten op.

public:
 cli::array <System::Data::DataRow ^> ^ Select();
public System.Data.DataRow[] Select();
member this.Select : unit -> System.Data.DataRow[]
Public Function Select () As DataRow()

Retouren

Een matrix met DataRow objecten.

Voorbeelden

In het volgende voorbeeld wordt een matrix met DataRow objecten geretourneerd via de Select methode.

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

Opmerkingen

Geef sorteercriteria op met Select(String, String) of Select(String, String, DataViewRowState)om de juiste sorteervolgorde te garanderen.

Zie ook

Van toepassing op

Select(String)

Hiermee haalt u een matrix op van alle DataRow objecten die voldoen aan de filtercriteria.

public:
 cli::array <System::Data::DataRow ^> ^ Select(System::String ^ filterExpression);
public System.Data.DataRow[] Select(string filterExpression);
member this.Select : string -> System.Data.DataRow[]
Public Function Select (filterExpression As String) As DataRow()

Parameters

filterExpression
String

De criteria die moeten worden gebruikt om de rijen te filteren.

Retouren

Een matrix met DataRow objecten.

Voorbeelden

In het volgende voorbeeld wordt een filterexpressie gebruikt om een matrix met DataRow objecten te retourneren.

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

Opmerkingen

Als u het filterExpression argument wilt maken, gebruikt u dezelfde regels die van toepassing zijn op de eigenschapswaarde van Expression de klasse voor het DataColumn maken van filters.

Geef sorteercriteria op met Select(String, String) of Select(String, String, DataViewRowState)om de juiste sorteervolgorde te garanderen.

Als de kolom in het filter een null-waarde bevat, maakt deze geen deel uit van het resultaat.

Zie ook

Van toepassing op

Select(String, String)

Hiermee haalt u een matrix op van alle DataRow objecten die voldoen aan de filtercriteria, in de opgegeven sorteervolgorde.

public:
 cli::array <System::Data::DataRow ^> ^ Select(System::String ^ filterExpression, System::String ^ sort);
public System.Data.DataRow[] Select(string filterExpression, string sort);
member this.Select : string * string -> System.Data.DataRow[]
Public Function Select (filterExpression As String, sort As String) As DataRow()

Parameters

filterExpression
String

De criteria die moeten worden gebruikt om de rijen te filteren.

sort
String

Een tekenreeks die de kolom en sorteerrichting opgeeft.

Retouren

Een matrix met DataRow objecten die overeenkomen met de filterexpressie.

Voorbeelden

In het volgende voorbeeld wordt een filterexpressie gebruikt om een matrix met DataRow objecten te retourneren.

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

Opmerkingen

Als u het filterExpression argument wilt vormen, gebruikt u dezelfde regels voor het maken van de eigenschapswaarde van Expression de DataColumn klasse. Het Sort argument gebruikt ook dezelfde regels voor het maken van tekenreeksen van Expression de klasse.

Als de kolom in het filter een null-waarde bevat, maakt deze geen deel uit van het resultaat.

Zie ook

Van toepassing op

Select(String, String, DataViewRowState)

Hiermee haalt u een matrix op van alle DataRow objecten die overeenkomen met het filter in de volgorde van de sortering die overeenkomt met de opgegeven status.

public:
 cli::array <System::Data::DataRow ^> ^ Select(System::String ^ filterExpression, System::String ^ sort, System::Data::DataViewRowState recordStates);
public System.Data.DataRow[] Select(string filterExpression, string sort, System.Data.DataViewRowState recordStates);
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()

Parameters

filterExpression
String

De criteria die moeten worden gebruikt om de rijen te filteren.

sort
String

Een tekenreeks die de kolom en sorteerrichting opgeeft.

recordStates
DataViewRowState

Een van de DataViewRowState waarden.

Retouren

Een matrix met DataRow objecten.

Voorbeelden

In het volgende voorbeeld wordt een filterexpressie en recordstatus gebruikt om een matrix met DataRow objecten te retourneren.

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

Opmerkingen

Als u het filterExpression argument wilt vormen, gebruikt u dezelfde regels voor het maken van de eigenschapswaarde van Expression de DataColumn klasse. Het Sort argument gebruikt ook dezelfde regels voor het maken van tekenreeksen van Expression de klasse.

Als de kolom in het filter een null-waarde bevat, maakt deze geen deel uit van het resultaat.

Zie ook

Van toepassing op