DataTable.Compute 方法

NET Framework 类库 

DataTable.Compute 方法

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

[Visual Basic]
Public Function Compute( _
   ByVal expression As String, _
   ByVal filter As String _
) As Object
[C#]
public object Compute(
   string expression,
   string filter
);
[C++]
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 属性。

示例

[Visual Basic, C#, C++] 以下示例针对识别号为 5 的销售人员,对名为“Total”的列的值求和。

[Visual Basic] 
Private Sub ComputeBySalesSalesID(ByVal myDataSet As DataSet)
    ' Presumes a DataTable named "Orders" that has a column named "Total."
    Dim myTable As DataTable
    myTable = myDataSet.Tables("Orders")
    ' Declare an object variable.
    Dim objSum As Object
    objSum = myTable.Compute("Sum(Total)", "EmpID = 5")
 End Sub

[C#] 
private void ComputeBySalesSalesID(DataSet myDataSet){
    // Presumes a DataTable named "Orders" that has a column named "Total."
    DataTable myTable;
    myTable = myDataSet.Tables["Orders"];
    // Declare an object variable.
    object objSum;
    objSum = myTable.Compute("Sum(Total)", "EmpID = 5");
 }

[C++] 
private:
void ComputeBySalesSalesID(DataSet* myDataSet){
    // Presumes a DataTable named "Orders" that has a column named "Total."
    DataTable* myTable;
    myTable = myDataSet->Tables->Item[S"Orders"];
    // Declare an object variable.
    Object* objSum;
    objSum = myTable->Compute(S"Sum(Total)", S"EmpID = 5");
 }

[JScript] 没有可用于 JScript 的示例。若要查看 Visual Basic、C# 或 C++ 示例,请单击页左上角的“语言筛选器”按钮 语言筛选器

要求

平台: Windows 98, Windows NT 4.0, Windows ME, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 系列, .NET Framework 精简版

请参见

DataTable 类 | DataTable 成员 | System.Data 命名空间 | Expression

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值