灵魂-放水

为学日益,为道日损。

BlogJava 首页 新随笔 联系 聚合 管理
  296 Posts :: 10 Stories :: 274 Comments :: 0 Trackbacks
最近为.NET项目编码,为了少写代码,直接用DataSet,DataTable等现成微软封装好的组件,对于Sum()、Count()等计算,DataTable提供了配套的方法Founction Compute():




DataTable.Compute 方法
2007-03-22 17:53
.
DataTable.Compute 方法  

计算用来传递筛选条件的当前行上的给定表达式。

命名空间:System.Data
程序集:System.Data(在 system.data.dll 中)


Visual Basic(声明)
Public Function Compute ( _
                 expression As String, _
                 filter As String _
            ) As Object
            
Visual Basic(用法)
Dim instance As DataTable
            Dim expression As String
            Dim filter As String
            Dim returnValue As Object
            returnValue = instance.Compute(expression, filter)
            
C#
public Object Compute (
                string expression,
                string filter
            )
            
C++
public:
            Object^ Compute (
                 String^ expression,
                 String^ filter
            )
            
J#
public Object Compute (
                 String expression,
                 String filter
            )
            
JScript
public function Compute (
                 expression : String,
                 filter : String
            ) : Object
            

 

参数

expression

要计算的表达式。

filter

要限制在表达式中进行计算的行的筛选器。

 

 

返回值

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)
                ' 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
            
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");
posted on 2007-10-20 11:19 放水老倌 阅读(12520) 评论(0)  编辑  收藏 所属分类: .NET

只有注册用户登录后才能发表评论。


网站导航: