DataTable.Compute(String, String) Metod

Definition

Beräknar det angivna uttrycket på de aktuella raderna som uppfyller filtervillkoren.

public:
 System::Object ^ Compute(System::String ^ expression, System::String ^ filter);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members of types used in the filter or expression might be trimmed.")]
public object Compute(string? expression, string? filter);
public object Compute(string? expression, string? filter);
public object Compute(string expression, string filter);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members of types used in the filter or expression might be trimmed.")>]
member this.Compute : string * string -> obj
member this.Compute : string * string -> obj
Public Function Compute (expression As String, filter As String) As Object

Parametrar

expression
String

Uttrycket som ska beräknas.

filter
String

Filtret för att begränsa de rader som utvärderas i uttrycket.

Returer

En Object, inställd på resultatet av beräkningen. Om uttrycket utvärderas till null blir Valuereturvärdet .

Attribut

Exempel

I följande exempel summeras värdena för en kolumn med namnet "Total" för den säljare vars ID-nummer är fem.

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

Kommentarer

Parametern expression kräver en mängdfunktion. Följande är till exempel ett juridiskt uttryck:

Count(Quantity)

Men det här uttrycket är inte:

Sum (Quantity * UnitPrice)

Om du måste utföra en åtgärd på två eller flera kolumner bör du skapa en DataColumn, ange dess Expression egenskap till ett lämpligt uttryck och använda ett aggregeringsuttryck i den resulterande kolumnen. I så fall får du en DataColumn med namnet "total" och egenskapen Expression inställd på följande:

"Quantity * UnitPrice"

Uttrycksargumentet Compute för metoden skulle då vara följande:

Sum(total)

Den andra parametern, filter, avgör vilka rader som används i uttrycket. Om tabellen till exempel innehåller en datumkolumn med namnet "colDate" kan du begränsa raderna med följande uttryck:

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

Regler för att skapa uttryck för båda parametrarna finns i egenskapen DataColumn.Expression .

Gäller för

Se även