DataTable的Compute方法和Expression语法

简介:

DataTable的Compute的功能可谓强大。

public object Compute(
 string expression,
 string filter
);

expression:要执行计算的表达式

filter:过滤表达式

这两个表达式都是用Sql语法,例如:

table.Compute("sum(count)", "count>0");

当我们的table中有count和price列时,如果要计算总金额,应该如何写表达式呢?

table.Compute("sum(count*price)", "");

你肯定会想到这样计算,但这样是错误的。我们应该使用表达式,先添加每一行的金额列,然后再计算总金额:

table.Columns.Add("total", typeof(decimal), "count*price");
table.Compute("total", "");

这个时侯才能得出总的金额。




本文转自齐师傅博客园博客,原文链接:http://www.cnblogs.com/youring2/archive/2012/05/29/2524075.html,如需转载请自行联系原作者

相关文章
|
存储 Kubernetes 持续交付
Docker 核心概念深度解析:探索容器、镜像和仓库在Docker生态系统中的重要作用和 应用
Docker 核心概念深度解析:探索容器、镜像和仓库在Docker生态系统中的重要作用和 应用
1275 0
Winform中Textbox、NumericUpDown等修改高度,禁止输入数字或内容的实现
Winform中的Textbox、NumericUpDown控件通常在单行的情况下,无法直接通过`Height`属性修改高度,但很多时候我们需要调整其高度,使其显示的更加合理,主要介绍三种方法...
3602 0
|
JavaScript 前端开发
js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
|
Web App开发 安全 Windows
解决:对COM 组件的调用返回了错误 HRESULT E_FAIL
  调用SHDOCVW(web浏览器) COM组件的时候,返回了错误 HRESULT E_FAIL。总结如下:     1. 在控制面板--->管理工具--->服务 中,开启Distributed Transaction Coordinator 服务。
7243 0
|
Java Maven Spring
【操作宝典】IntelliJ IDEA新建maven项目详细教程
【操作宝典】IntelliJ IDEA新建maven项目详细教程
850 1
|
9月前
|
数据采集 JavaScript 前端开发
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)
用array.filter()来实现数据筛选、数据清洗和链式调用,相对于for循环更加清晰,语义化强,能显著提升代码的可读性和可维护性。博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
SQL 缓存 BI
在 SQL Server 中使用 SPACE 函数
【8月更文挑战第5天】
618 6
在 SQL Server 中使用 SPACE 函数
|
开发框架 监控 .NET
C#进阶-ASP.NET WebForms调用ASMX的WebService接口
通过本文的介绍,希望您能深入理解并掌握ASP.NET WebForms中调用ASMX WebService接口的方法和技巧,并在实际项目中灵活运用这些技术,提高开发效率和应用性能。
786 5
|
存储 人工智能 分布式计算
云计算的基本概念
云计算的基本概念
6881 0
|
SQL 存储 监控
如何在SQL中插入图片
如何在SQL中插入图片