SELECT A,B FROM C
这里A是一个整数,B是一个小数.
如果在数据库中A和B都是负数的话,那么通过ADO取出来的A就是一个正数,B是负数.如果把ADO换成DBEXPRESS或BDE的话,就可以正确地读出A的值了.所以我怀疑这可能是ADO的一个BUG.
解决这个问题有一个办法,将SQL语句这么改一下:
SELECT A-0,B FROM C
这样就可以读出A的正确的数值,但是这样操作是比较麻烦的,不知道大家有没有什么好的办法.
这里A是一个整数,B是一个小数.
如果在数据库中A和B都是负数的话,那么通过ADO取出来的A就是一个正数,B是负数.如果把ADO换成DBEXPRESS或BDE的话,就可以正确地读出A的值了.所以我怀疑这可能是ADO的一个BUG.
解决这个问题有一个办法,将SQL语句这么改一下:
SELECT A-0,B FROM C
这样就可以读出A的正确的数值,但是这样操作是比较麻烦的,不知道大家有没有什么好的办法.
解决方案 »
- 大写金额
- 求 时尚百例丛书DELPHI6.0控件时尚编程百例 光盘
- 散分,活跃气氛,下班前结帖,散分规则内详! :)
- 急!VC写的这个DLL,用DELPHI如何调用?请帮忙
- 菜鸟问题,出错:列名XXX无效
- SQL SERVER不能存取非JPG,BMP以外的文件吗,我想存个SWF!
- 帮帮忙吧,很急啊!!!请求一个关于判断是否对MonthCalender进行操作的问题
- 求教:如何通过button实现webbrower的上移下移及翻页?(sendmessage?)
- 如何使用Delphi编写用ADO访问数据库并返回一个记录集的COM,并通过ASP来调用这个COM来显示数据
- 关于窗体托动问题
- 各位高手请看看这是啥问题?
- 亲爱的朋友们 帮我解决一下下面的代码
我用的是DELPHI6+ADO+ORACLE,如果换成BDE/DBEXPRESS+ORALCE,就没有这个问题.
就算是Bug也是MDAC和Oracle的BUG
最好用最新版的MDAC
ADO+SQL SERVER/ACCESS 也没有问题,
就是ADO + ORACLE就会出这种问题.
clientdataset1.Fields[2].Value 这样就取不出负数。必须是ADO+ORACLE
说说你们用的是什么版本的DELPHI
没有发现问题不过用ADO的低版本,和Oracle确实存在一些不兼容问题
用MDAC 2.8试试,驱动用Oracle的驱动,不要用MS的
“驱动用Oracle的驱动,不要用MS的”这是什么意思?这么写不行吗?
Provider=MSDAORA.1;Password=info;User ID=hcinfo;Data Source=hcinfo
“Microsoft OLE DB Provider for Oracle”是MS的驱动
还是不能正确地取出负的整数。
但是如果设为number(*)的话,就可以取出负数来。