数据表.计算运行时错误
本文关键字:运行时错误 计算 数据表 | 更新日期: 2023-09-27 18:19:34
我想从数据表的一列中获得最大值!!
我的数据表有值
Column1 Date Column2 Column3 Column4
Electricity(KWH) 06/Jun/2013 00:00:00 99.00 43.00 56.00
Electricity(KWH) 14/Jun/2013 00:00:00 260.00 48.00 212.00
当我给
enter code here
double a = Convert.ToDouble( dtChart.Compute("MAX(Column2)", ""));
variable a has value 260
但是当使用时
for (int i = 3; i < dtChart.Columns.Count; i++)
{
string a = dtChart.Columns[i].Caption; //a has value 'Column2';
double maxYval = Convert.ToDouble(dtChart.Compute("MAX('"+a+"')",""));
}
它将异常显示为//将错误显示为"聚合参数中的语法错误:应为可能带有"Child"限定符的单列参数。"要做什么.pls帮助
我怀疑这是因为你在这里引用了它:
"MAX('"+a+"')"
如果你试图获得:
"MAX(Column2)"
那么你需要:
"MAX(" + a + ")"
或者:
string.Format("MAX({0})", a)
如果您想要一种可读性更强、不易出错的方法,请使用Linq-To-DataSet
:
IEnumerable<DataRow> rows = dtChart.AsEnumerable();
double col2Max = rows.Max(r => r.Field<double>("Column2"));
double col3Max = rows.Max(r => r.Field<double>("Column3"));
double col4Max = rows.Max(r => r.Field<double>("Column4"));