转成字符存进去是一个效果(会自动截断)
后经高手指点
在adodataset的beforeopen中写一句
adorsMain.EnableBCD:=false
就搞定了!
看看delphi关于这一点的帮助系统,查询关于TFloatValue 类型,以及FloatToDecimal的过程,相信你会找到答案
我的数据库为SQL2000,其中有一个表名为ADD_sql中的字段“金额”类型为NUMERIC
。 但不知何每次保存到数据库的数都相差一点;
例如:query1.FieldByName(‘金额’).asstring:='9675.2'
在数据库中即查到的是9675.19
不知为什么?怎样解决?请高手们指点啊!!!
| 加入我的收藏 | ||
楼主: | 我在用ADOQuery读取SQLSevers数据库中的numeric类型的数时,居然不能超过4位小数???如0.00005读取出来就是0,怎么会这样啊??? ---------------------------------------------- 请多多关照! |
作者: |
| 2006-2-27 16:38:31 | ||||
1楼: | 不知道,没试过,你要这么精确的数据呀~! 厉害! ---------------------------------------------- - |
作者: |
| 2006-2-27 17:05:35 | ||||
2楼: | 同样关心这个问题!!我也遇见了!! ---------------------------------------------- - |
作者: |
| 2006-2-27 19:52:50 | ||||
3楼: | 用float不行? ---------------------------------------------- 软件伯乐网 www.nationsoft.cn 论坛 www.nationsoft.cn/bbs |
作者: |
| 2006-3-1 20:20:56 | ||||
4楼: | 解决了,要设置ADOQuery.EnableBCD:= False;就可以了 ---------------------------------------------- 请多多关照! |