DataTable里带的聚合函数
DataTable.Compute(expression,filter)解决Count(),Sum()......
最近为.NET项目编码,为了少写代码,直接用DataSet,DataTable等现成微软封装好的组件,对于Sum()、Count()等计算,DataTable提供了配套的方法Founction Compute():
DataTable.Compute 方法
2007-03-22 17:53
.
DataTable.Compute 方法
计算用来传递筛选条件的当前行上的给定表达式。 命名空间:System.Data
Visual Basic(声明)
Public Function Compute ( _
Visual Basic(用法)
Dim instance As DataTable
C#
public Object Compute (
C++
public:
J#
public Object Compute (
JScript
public function Compute ( 参数
返回值Object,设置为计算结果。
备注
expression 参数需要聚合函数。例如,以下是合法表达式: Count(Quantity) 但是以下表达式不合法: Sum (Quantity * UnitPrice) 如果必须针对两列或多列执行操作,则应该创建 DataColumn,并将它的 Expression 属性设置为适当的表达式,然后针对结果列使用聚合表达式。在这种情况下,假定有一个名为“total”的 DataColumn,并且 Expression 属性设置为: "Quantity * UnitPrice" Compute 方法的表达式参数将为: Sum(total) 第二个参数 filter 确定在表达式中使用哪些行。例如,如果该表包含名为“colDate”的日期列,则可用以下表达式限制这些行: colDate > 1/1/99 AND colDate < 17/1/99 有关为这两个参数创建表达式的规则,请参见 DataColumn.Expression 属性。 下面的示例针对识别号码为五的销售人员,对名为“Total”(合计)的列的值求和。
Visual Basic
Private Sub ComputeBySalesSalesID(ByVal dataSet As DataSet)
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"); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |