使用DataTable.Compute()
方法,但获取
“聚合参数中的语法错误:期望单个列 可能有'Child'限定符的参数。 “
我的代码:
int x = Convert.ToInt32(DataSet1.Tables[0].
Compute("SUM(Convert([qty],'System.Int32'))","[code] = 'ABC'"));
这里的代码是数据表的列,我正在读取数量的总和。但我认为错误可能是因为qty是string
类型而无法转换为int类型,但不确定。
期待您的回答和提前感谢。
答案 0 :(得分:2)
最好通过这样做来尝试linq
int quantitysum= dt.Rows.Where(dr=>((string)dr["code"]) == "ABC")
.Select(dr=>(int)dr["qty"]).Sum();
答案 1 :(得分:2)
Vinod不会将您的数量与System.Int32
进行比较。只需写下
Object Result = DataSet1.Table[0].Compute("SUM(qty)","code = 'ABC'");
然后您可以在投射到Object
之后使用integer
。