DataTable.Compute(String, String) Metoda

Definice

Vypočítá daný výraz na aktuálních řádcích, které splňují kritéria filtru.

public:
 System::Object ^ Compute(System::String ^ expression, System::String ^ filter);
public object Compute (string? expression, string? filter);
public object Compute (string expression, string filter);
member this.Compute : string * string -> obj
Public Function Compute (expression As String, filter As String) As Object

Parametry

expression
String

Výraz, který se má vypočítat.

filter
String

Filtr pro omezení řádků, které se vyhodnocují ve výrazu.

Návraty

Hodnota Object, nastavená na výsledek výpočtu. Pokud se výraz vyhodnotí jako null, bude návratová hodnota Value.

Příklady

Následující příklad sečte hodnoty sloupce s názvem "Total" pro prodejce, jehož identifikační číslo je pět.

private void ComputeBySalesSalesID(DataSet dataSet)
{
    // Presumes a DataTable named "Orders" that has a column named "Total."
    DataTable table;
    table = dataSet.Tables["Orders"];

    // Declare an object variable.
    object sumObject;
    sumObject = table.Compute("Sum(Total)", "EmpID = 5");
}
Private Sub ComputeBySalesSalesID(ByVal dataSet As DataSet)
    ' Presumes a DataTable named "Orders" that has a column named "Total."
    Dim table As DataTable
    table = dataSet.Tables("Orders")

    ' Declare an object variable.
    Dim sumObject As Object
    sumObject = table.Compute("Sum(Total)", "EmpID = 5")
 End Sub

Poznámky

Parametr expression vyžaduje agregační funkci. Například toto je právní výraz:

Count(Quantity)

Tento výraz ale není:

Sum (Quantity * UnitPrice)

Pokud musíte provést operaci se dvěma nebo více sloupci, měli byste vytvořit DataColumn, nastavit jeho Expression vlastnost na odpovídající výraz a použít agregační výraz pro výsledný sloupec. V takovém případě zadanou DataColumn hodnotu s názvem "total" a vlastnost nastavenou Expression na tuto hodnotu:

"Quantity * UnitPrice"

Argument výrazu pro metodu Compute by pak byl tento:

Sum(total)

Druhý parametr , určuje, filterkteré řádky se ve výrazu použijí. Pokud například tabulka obsahuje sloupec kalendářních dat s názvem "colDate", můžete omezit řádky pomocí následujícího výrazu:

colDate > 1/1/99 AND colDate < 17/1/99

Pravidla pro vytváření výrazů pro oba parametry najdete ve DataColumn.Expression vlastnosti .

Platí pro

Viz také