在SQL Server 2000中定义数据项decimal(9,6),输入数据0.00005或0.00017并保存,在Delphi7中用TDBEdit和TDBGrid显示分别是0和0.0002,这是怎么回事?在Delphi7中用TDBEdit和TDBGrid添加数据0.00005或0.00017保存后也是0和0.0002,是不是Delphi7的TDBEdit和TDBGrid不支持5位以上小数,请各位大侠给与帮助解决。

解决方案 »

  1.   

    ADOQuery1.EnableBCD := False;
      

  2.   

    添加一个ADO数据集控件到程序中时,默认状况下,EnableBCD   =   true。一定要把想全部显示小数的字段删除,再设置EnableBCD   :=   False,然后将数据集打开、关闭一次,设置Active   =   True,再=false,然后再添加需要的字段,这样需要的字段就可以正常显示!
      

  3.   

    楼主查询一下属性 DisplayFormat ,然后就可以解决了DisplayFormat property (TNumericField)
    Determines how a numeric field value is formatted for display in a data-aware control.DisplayFormat Value Result Comment#.## 12.2 12.2 Note extra digit to left of decimal still appears
    #.00 2.5 2.50 Note extra zero: field will always show two decimal places
    00.## .006 00.01 Note extra zeros to right of decimal point and rounding to two 
    decimal places.
      

  4.   

    设置字段的DisplayFormat属性