【发布时间】:2013-02-22 11:21:15
【问题描述】:
我有一个问题。我需要在数据表的单个列中总结总金额。我该如何处理?
例如
Total
2
3
4
5
9
10
我需要得到整个专栏的总数。
【问题讨论】:
-
您自己有没有尝试过?你有什么代码要显示吗?
标签: asp.net
我有一个问题。我需要在数据表的单个列中总结总金额。我该如何处理?
例如
Total
2
3
4
5
9
10
我需要得到整个专栏的总数。
【问题讨论】:
标签: asp.net
最灵活的方式是使用Enumerable.Sum:
Int64 sum = table.AsEnumerable().Sum(r => r.Field<int>("total"));
注意,需要添加using System.Linq;。
你也可以使用DataTable.Compute,它的语法不容易记住,而且有限制:
Int64 sum = (Int64) table.Compute("Sum (total)", null);
【讨论】:
DataRow,因为DataTable.AsEnumerable 返回IEnumerable<DataRow>。
如果您使用的是 SQl 服务器,您可以让服务器计算它并返回总和..
SqlCommand cmd = new SqlCommand("SELECT SUM(Total) FROM MyTable", conn);
int nSum = (int)cmd.ExecuteScalar();
【讨论】: