dbgrid显示decimal数据类型的问题 我在sql server 2000后台数据库中将‘价格’字段设为decimal类型,小数点位数为6,前台程序使用ado数据集控件,发现dbgrid中输入价格时,保存的并不是6位小数,如输入1.2345678,则显示为1.2346,为什么会如此呢?如何才能保存6位小数呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 应该把他做成字符类型..我用的是access就是该的字符类型 试试这样:在DBGrid的DrawDataCell事件中if field.FieldName <>'CustName' then//除了‘CustName’以外都是浮点型的数据beginDBGrid1.Canvas.FillRect(Rect);//很重要哦!不然显示的内容乱七八糟;DBGrid1.Canvas.textout( rect.left,rect.top,formatfloat('0.000000',field.asfloat));//主要部分end;另外在ADOQuery(数据源)的更改中加一句:DBGrid1.Invalidate ;//迫使数据改变后DBGrid重绘; 或TNumericField(Query1.FieldByName('字段名')).displayformat:='0.000000'; 如果不行,就换控件:DBGRIDEH/DXDBGRID to cg1120(代码最优化-§雪是冷的,人是暖的§): 按照你的设置后显示为:1.234600,还是进行四舍五入了,不知道各位的是否也出现同样的问题呢? 当然了...formatfloat 自动有..四舍五入.....让你改了字段属性为字符就好了 设置displayformat好像enablebcd为False 哪里的enablebcd属性?是sql explore里面的码?我也修改过,使用ado好像跟它是不是没有关系呢? 将你的数据类型改为FLOAT就可以显示六位。 帮忙把C++转成delphi 谢谢 汗,很棘手的问题 SQL在Delphi7里出问题咯谁知道怎么解决?快!LIKE语句问题? 有关delphi程序的发布 菜鸟终于体会到了软件开发第二和第三重要要的技术是建模技术和测试技术.有很强的欲望想学习他们。 :) 郁闷中,散发100 PageControl中的一个小问题????????? 一个月给我500百块 我为你干活~~~~~~~大家帮忙找一份工作吧~~~ 高手请进!!!!!!!急!!!!1111 谢谢各位高手,声卡控制问题 怎么取得当前DataSetAdapter中某个特定字段的值?谢谢! 一个关于数据库异常处理的问题
在DBGrid的DrawDataCell事件中
if field.FieldName <>'CustName' then//除了‘CustName’以外都是浮点型的数据
begin
DBGrid1.Canvas.FillRect(Rect);//很重要哦!不然显示的内容乱七八糟;
DBGrid1.Canvas.textout(
rect.left,rect.top,formatfloat('0.000000',field.asfloat));//主要部分
end;
另外在ADOQuery(数据源)的更改中加一句:DBGrid1.Invalidate ;//迫使数据改变后DBGrid
重绘;
cg1120(代码最优化-§雪是冷的,人是暖的§):
按照你的设置后显示为:1.234600,还是进行四舍五入了,不知道各位的是否
也出现同样的问题呢?
好像enablebcd为False
它是不是没有关系呢?