我做的系统,支持ACCESS和SQL-SERVER等
在adodataset中,用field edit新增了字段,但我的字段是这样组成的,
select a,b,sum(c) as cc,sum(d) as dd from t1 group by a,b
其中字段c,d均为integer型
出现情况如下:
在sql-server下cc和dd在adodataset字段编辑中必须设为integer类型,程序运行正确
在access下cc和dd在adodataset字段编辑中必须设为float类型,程序运行正确
否则报错:except type:integer,actual type:float;
或except type:float,actual type:integer;
我如何将field edit实现统一的类型在access和下均正常运行。
谢谢各位!!!

解决方案 »

  1.   

    不用新增列,用fieldbyname('cc').asfloat访问试试
      

  2.   

    你既然这样写了SQL了 就不用固定字段了 又不是在程序里计算的
    直接返回数据集后 读
    fieldbyname('cc').value试试
      

  3.   

    上面各位的主意都很好,我的dataset关键是跟dbgrideh相连,必须给出字段,请各位再帮我想办法
      

  4.   

    ACCESS设为FLOAT型
    SQLSERVER设为NUMERIC型
      

  5.   

    不是计算字段
    不用选择类型吧要不不要field editor了
    select a,b,sum(c) as 中文名字,sum(d) as 中文名字 from t1 group by a,b
    连上dbgrideh试试
      

  6.   

    在sql-server下cc和dd在adodataset字段编辑中必须设为integer类型,程序运行正确
    在access下cc和dd在adodataset字段编辑中必须设为float类型,程序运行正确那你在sql_server中强制cc,dd为float类型, 然后统一为float类型不就OK了select a,b, Cast(sum(c) as Float) as cc,Cast(sum(d) as Float) as dd from t1 group by a,b