ADO + [NUMBER(1)]ORACLE 负数出错

angle097113 2006-04-17 10:15:43
DELPHI7和ORACLE9采用ADO连接NUMBER(1)类型字段时候负数显示出来的都是正数,
跟踪了一下是ADODB.PAS文件里面的问题,你们遇到过吗?不知道算不算是ADO的BUG
...全文
286 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
柯本 2006-04-18
  • 打赏
  • 举报
回复
我用D6,无论是用OraOLEDB.Oracle或MSDAORA.1都没问题,不过我升级过ADO,将ado升到2.7以上试试?
angle097113 2006-04-18
  • 打赏
  • 举报
回复
我靠,没人管啊,
angle097113 2006-04-17
  • 打赏
  • 举报
回复
其实从DELPHI代码分析看来并不仅仅限制于ORACLE数据库的,大家都可以试验一下,
楼上的试验的就是SQL SERVER数据库
todouwang 2006-04-17
  • 打赏
  • 举报
回复
我看了下,定长的数据类型精度小于10的时候,的确会把负数搞成正数,精度在10到最大值的时候,是没有问题的。

睡觉了先,MSN上不去了。
angle097113 2006-04-17
  • 打赏
  • 举报
回复
个人感觉是这里的问题4214行:
ftSmallint:
if vt = VT_UI1 then
SmallInt(Buffer^) := Byte(cVal) else
SmallInt(Buffer^) := iVal;
ftWord:
if vt = VT_UI1 then
Word(Buffer^) := bVal else
Word(Buffer^) := uiVal;
ftAutoInc, ftInteger:
Integer(Buffer^) := lVal;
angle097113 2006-04-17
  • 打赏
  • 举报
回复
FIRST

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧