数据表.计算运行时错误

本文关键字:运行时错误 计算 数据表 | 更新日期: 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"));