DataTable.Compute(String, String) 方法

定義

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

C#
public object Compute (string? expression, string? filter);
C#
public object Compute (string expression, string filter);

參數

expression
String

要計算的運算式。

filter
String

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

傳回

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

範例

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

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

備註

參數 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 屬性。

適用於

產品 版本
.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

另請參閱