为什么通过三层结构查询出来的所有数值字段都显示为 BCD overflow ?(50分)

  • 主题发起人 主题发起人 lu_ning
  • 开始时间 开始时间
L

lu_ning

Unregistered / Unconfirmed
GUEST, unregistred user!
请高手帮忙
 
你能不能具体说一下是怎么情况?
 
具体?
我就是用DBGRID显示数据库里的数据啊,两层模式是好的,在三层上数值型的字段
都显示成BCD overflow
后来没办法,我就把所有的数值字段转换成字符了,反正只是查询
 
你可能用的是Delphi6吧?
后台数据库是否用ORACLE?
你是直接用查询语句还是用存储过程?
如果是用Delphi6+Oracle,并且用dbExepress去连接数据库,而不是用BDE和ADO,
则对于Oracle的Number数据类型,dbExepress会把它解释成BCD类型,也就是用8421BCD码表示,
这样的话,你就用BCD类型(ftBCD)来读取该Number类型的数据
 
Delphi6+Oracle,我碰到过这个问题。
只要把中间层ADOTable或者ADOQuery中EnableBCD属性改为False
 
多人接受答案了。
 
后退
顶部