我用database 和query读一个表,里面的字段是decimal 小数位6位,数据库里是负数,读回来变成正数了。字段太多,不能转换字段

解决方案 »

  1.   

     是不是 displayFormat  設置了什麼
      

  2.   

    没有,都是用默认的,只是在database里写了用户名 密码
      

  3.   

    stringgrid,程序里设置断点显示也是正数,asString和asFloat都不行,用ADO就可以,但是必须要BDE
      

  4.   

    是这样的,你用ADO连接可以,却用BDE链接不行,刚才我查了一下,因为BDE是Borland的连接,BDE有自己的浮点小数转换机制,所以你建立BDE连接的时候有个选项ENABLED BDE要选上TRUE,这样才能正确转换,否则会按它内部机制转换,而ADO则不需要,你尝试下
      

  5.   

    在BDE ADMINISTRATOR  裏面把 Enabled BCD   設為  True 
      

  6.   

    呵呵~starluck已经说了。我就不给你抓图了。应该会解决,我测试了个。
      

  7.   

    可以了,谢谢大家,其实我一开始也查到可能是BCD的原因,不过我太马虎了,给写成ENABLE BCD=TRUE。没效果。。
    我是在database里写的。
    好了,结帖。祝大家新年快乐
      

  8.   

    还是不行,刚才没仔细看,我现在的情况是只要把数据库的负数手工写一遍就可以了,加上那句也还是不行,这个数据库是从oracle导到SQL的,还请大家再帮帮忙