数据库设置问题,急啊(200分)

  • 主题发起人 主题发起人 松鼠
  • 开始时间 开始时间

松鼠

Unregistered / Unconfirmed
GUEST, unregistred user!
Sql Server中的一个表temp
Sql Server Enterprise Manager中显示
编号 数量(flaot型)
1 5859.2
2 5859.2

用Sql Server Query Analyzer 查询结果

Sql 语句 select * from temp
编号 数量
1 5859.2000000000007
2 5859.1999999999998

如果sql语句变为 select * from temp where 数量=5859.2
结果为:
编号 数量
2 5859.1999999999998

Delphi 中用Query 第一条语句结果
编号 数量
1 5859.2
2 5859.2

第二条语句结果
编号 数量
2 5859.2

请问什么原因?SOS!
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=487915
 
上述帖子可能对我的问题没有用,实际上我是用dbgrid改变数据后,post时
告诉我该条记录已经被其他用户修改,我在dbgrid里修改的不是数量字段,
而是其它字段,updatemode 为upwherealll,相信各位知道delphi更新数据库
的模式,实际上要先执行一个select count(*) .....返回值为0,回告诉你
其他用户已经修改了。
 
是这样啊,精度不够

将BDE改为BCD为True,从delphi中写入一条数据试试。
如insert into temp(数量) values(5859.2)
再select * from temp看看结果
 
可能是这样吧,暂且给你们分了,以后如果再有问题再找你们
 
再问一句,sql server 中能不能改变float 的精度
 
能,当然能
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部