首页 文章

如何获得两列乘法的总和

提问于
浏览
2

我有一个数据表,其中有两列名为col1和col2 . 我想获得每一行(col1 * col2)的总和 . 我正在使用以下代码..

object sumObject;
sumObject = dt.Compute("Sum(col1* col2)", "(id = '" + id+ "') ");

但它不起作用 . 它会产生一个错误:

Syntax error in aggregate argument: Expecting a single column argument with possible 'Child' qualifier.

2 回答

  • 1

    更可读的方法是使用 LINQ-To-DataSet

    int sumTotal = dt.AsEnumerable()
        .Where(r => r.Field<int>("id") == id)
        .Sum(r => r.Field<int>("col1") * r.Field<int>("col2") );
    
  • 5
    double dTotal = 0.0;
    foreach (DataRow dr in dt.Rows) 
    {
       double dValue1, dValue2;
    
       if (!double.TryParse(dr["col1"].ToString(), out dValue1))
       {
           //error parsing
           break;
       }
       if (!double.TryParse(dr["col2"].ToString(), out dValue2))
       {
           //error parsing
           break;
       }
       dTotal += dValue1 * dValue2;
    }
    

相关问题