ClientDataSet的CommandText字符串中,用到SUM,AVG聚合函数和GROUP BY 分组,就会出现 Value of Filed "字段" is out of range 错误.
怎么办啊

解决方案 »

  1.   

    这是2002年就有人遇到的问题,难道就没人遇到过吗?http://topic.csdn.net/t/20021218/11/1272356.html
    写了一个基于Midas的三层结构程序,数据库为Oracle,前台使用Delphi7,通过TClientDataSet.CommandText:=sqlstr获取数据集;sqlstr为SQL语句,出现的问题是sqlstr中只要出现函数,比如sum(datafield),(datafield1+datafield2)或者round(datafield,1)均出现"Value   of   'datafield'is   out   of   range"错误,使用两层结构"select   sun(datafield)   from   tablename"肯定不报错,三层结构中如果不使用函数,只用"select   datafield   from   tablename"也不报错,(注:以上所提到字段均是Number行),请教各位大虾,什么原因,如何修改? 还有一个"罪证"是:如果直接运行EXR文件,不报错,但是DBGrid中使用函数的字段显示:BCD   overflow,其他直接读取的字段能够正常显示
      

  2.   

    起一个别名试试
    select sum(datafield) as datafield .............
      

  3.   

    问题解决了。应该是delphi的bug。应用服务器把原来的ADO访问数据库修改成BDE就好了.ADO访问我试过各种方法都没办法解决。
      

  4.   

    SQL语句加上四舍五入就没问题的..