2013-03-07 51 views
0

我有問題。我需要總結數據表中單個列的總量。我如何繼續?總計在數據表中的列中

例如

Total 
2 
3 
4 
5 
9 
10 

我需要得到總計整列的。

+0

你有沒有先試過自己?你有任何代碼要顯示嗎? – 2013-03-07 10:05:41

+0

檢查這些答案:http://stackoverflow.com/questions/5601752/how-to-sum-columns-in-a-datatable http://stackoverflow.com/questions/5892993/how-to-calculate-這個數據表中的列在asp-net – gdp 2013-03-07 10:06:02

回答

1

最靈活的方式是使用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); 
+0

什麼是你可以在enumerable.Sum中提到的變量r? – 2013-03-07 16:17:48

+0

@NgYangYang:自[[DataTable.AsEnumerable]](http://msdn.microsoft.com/zh-cn/library/system.data.datatableextensions.asenumerable.aspx)返回一個'IEnumerable '。 – 2013-03-07 16:20:21

0

如果你使用SQL Server,你可以讓服務器計算並返回你的總和。

SqlCommand cmd = new SqlCommand("SELECT SUM(Total) FROM MyTable", conn); 
int nSum = (int)cmd.ExecuteScalar();