DataTable.Compute(String, String) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
計算在傳遞篩選準則的目前資料列上的指定運算式。
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 屬性。