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。
示例
以下示例对标识号为 5 的销售人员的名为“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 属性。