1

正在使用DataTable.Compute()方法,但得到

“ 聚合参数中的语法错误:需要一个带有可能的 'Child' 限定符的单列参数。”

我的代码:

  int x = Convert.ToInt32(DataSet1.Tables[0].
       Compute("SUM(Convert([qty],'System.Int32'))","[code] = 'ABC'"));

这里的代码是数据表的列,正在读取数量的总和。但我认为错误可能是因为 qty 是类型string并且无法转换为 int 类型,但不确定。

期待答案并提前致谢。

4

2 回答 2

2

最好通过这样做来尝试 linq

int quantitysum= dt.Rows.Where(dr=>((string)dr["code"]) == "ABC") 
                             .Select(dr=>(int)dr["qty"]).Sum();
于 2012-12-10T11:20:52.263 回答
2

Vinod 不要将您的数量与System.Int32. 写吧

Object Result = DataSet1.Table[0].Compute("SUM(qty)","code = 'ABC'");

然后你可以Object在转换为integer.

于 2012-12-10T11:31:04.080 回答