获取WinForms中列的总和

时间:2012-02-09 07:35:11

标签: c# sql-server sum

我想从数据库中获取列的总和,但查询返回-1。我有这个问题:

SELECT SUM(total) 
FROM bon
WHERE        
  (DATEPART(dd, data_adaugare) = DATEPART(dd, @p1)) 
  AND (DATEPART(mm, data_adaugare) = DATEPART(mm, @p1)) 
  AND (DATEPART(yy, data_adaugare) = DATEPART(yy, @p1))

和来自C#的代码:

decimal sumaa = 0;
DataTable suma = bonTableAdapter.Suma(DateTime.Now);

foreach (DataRow r in suma.Rows)
{
   sumaa += Convert.ToDecimal(r.ItemArray[0]);
}

2 个答案:

答案 0 :(得分:2)

你错过了+

    decimal sumaa = 0;
    DataTable suma = bonTableAdapter.Suma(DateTime.Now);
    foreach (DataRow r in suma.Rows)
    {
        sumaa += Convert.ToDecimal(r.ItemArray[0]);
    }

答案 1 :(得分:1)

任何记录中的总列可能为空。在那种情况下使用它。

SELECT SUM(isnull(total, 0))...