DataTable.Compute(String, String) 方法

定義

計算通過篩選條件的當前列的給定表達式。

public:
 System::Object ^ Compute(System::String ^ expression, System::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,為計算結果。 若運算式值為空,則回傳值為 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

適用於

另請參閱