DataTable.Compute(String, String) 方法

定義

計算在傳遞篩選準則的目前資料列上的指定運算式。

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

參數

expression
String

要計算的運算式。

filter
String

要限制在運算式中評估之資料列的篩選條件。

傳回

Object,設定為計算的結果。 若運算式評估為 Null,傳回值會是 Value

範例

下列範例會針對標識符為五的銷售人員,加總名為 “Total” 的數據行值。

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

備註

參數 expression 需要聚合函數。 例如,下列是合法的表達式:

Count(Quantity)

但此表示式不是:

Sum (Quantity * UnitPrice)

如果您必須在兩個或多個數據行上執行作業,您應該建立 DataColumn、將其 Expression 屬性設定為適當的表達式,並在產生的數據行上使用匯總表達式。 在此情況下,指定 DataColumn 名稱為 「total」 的 ,並將 Expression 屬性設定為下列專案:

"Quantity * UnitPrice"

方法的 Compute 運算式自變數會是:

Sum(total)

第二個參數 filter會決定表達式中使用的數據列。 例如,如果數據表包含名為 「colDate」 的日期資料行,您可以使用下列運算式來限制資料列:

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

如需建立兩個參數表達式的規則,請參閱 DataColumn.Expression 屬性。

適用於

另請參閱