我用Delphi7+sql server2k,,,输入一个money类型的字段,,,
在delphi的DBEdit控件里输入1.2345,,但结果显示是1.2300
如果在查询器里添加或修改,,,,,则结果是显示1.2345
莫非在delphi 的某些地方要设置?
请赐教,,,

解决方案 »

  1.   

    结果显示在什么地方?dbgrid?money类型只显示到分位
      

  2.   

    该字段的displayformat属性 为0.0000
      

  3.   

    在DBGrid和DBEdit都显示
    试过displayformat了,,没用,
    我输进1.2345,,预期结果是1.2345,,但返回结果却是1.2300,,
    小数位后第3位开始被截断,,然后又补上00,,并不是我想要的结果
      

  4.   

    money类型可以精确到4位小数,,
    在查询器中操作时可以得到预期的结果,,但通过DBEdit输入就不行了,,后两位被四舍五入,
      

  5.   

    与dbedit连接的Query里的字段属性是不是设成两位了
      

  6.   

    !!新发现:我原来是采用BDE动态链接的,后来改为ODBC链接后,money类型可以正常操作。
    再试用动态链接后,问题仍然存在,只能编辑小数点后两位,,而不是money类型的4位。但采用ODBC链接会给程序移植带来许多问题,,想请教各位
    怎样才可以在动态链接时可以正常使用money类型的小数点后4位?
      

  7.   

    刚试过设置Tdatabase的enabled bcd 为true都没有用
      

  8.   

    我只能告诉你,既然你都用SQL2000了,就通过ADO连接吧,否则更加稀奇古怪的问题在等着你,除非用所有数据类型都用字符型,然后转换!
    很多早期的成熟的ERP(Delphi+BDE+SQL7.0)都是这么玩的!
      

  9.   

    一定要用db组件吗!用edit来显示试试.
      

  10.   

    谢谢,,ADO的确可以解决问题,
    但我对ADO还不太熟悉,
    况且我已经用BDE做好了一个系统,就差小数位的问题还没有解决,
    不知道还有没有别的方法,可以使程序改动较少?