我想从数据表的列中获取最大值!!
我的数据表的值为
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'限定符的单个列参数。” 该怎么做。请帮忙
答案 0 :(得分:1)
我怀疑是因为你在这里引用它:
"MAX('"+a+"')"
如果你想得到的话:
"MAX(Column2)"
然后你需要:
"MAX(" + a + ")"
或者:
string.Format("MAX({0})", a)
答案 1 :(得分:0)
如果您想要更易读且更不容易出错的方法,请使用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"));