路过的朋友看一下:用ADO连接ORACLE为什么表内存储为负的数字,显示出来却成了正的

zjx1980 2006-08-10 12:52:11
如题:
我用delphi 7.0连接Oracle数据库,数据库中存储的NUMBER字段为负,但是在前台显示出来的确少了个负号,这是什么原因,初步结论是ado的问题,用bde不会出现这种情况,知道怎么解决的朋友请不吝赐教,多谢!
...全文
188 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjx1980 2006-08-11
  • 打赏
  • 举报
回复
TO ouygg(痞子酷) keiy()更换数据库字段类型或更改数据引擎工作量都较大,现在不太合适,希望能有一种较合适的方法,多谢!
zjx1980 2006-08-11
  • 打赏
  • 举报
回复
不好意思,今天才回复,昨天晚上不能上网,升级了MDAC仍然是一样
试了一下,当Oracle中NUMBER类型字段长度设为10以上时,可正常显示,有经验的朋友多指点下,分不够另加,呵呵,多谢楼上的几位老兄。
daydayup234 2006-08-10
  • 打赏
  • 举报
回复
看看
NUMBER字段的取值范围
比较
ADOQuery1->Fields->AsInteger
的取值范围
zjx1980 2006-08-10
  • 打赏
  • 举报
回复
多谢诸位老兄指教,试下先,等下给结果
ccrun.com 2006-08-10
  • 打赏
  • 举报
回复
我一直用ADO连Oracle,没有什么大的问题。升级MDAC 2.8先。
jxauyhj 2006-08-10
  • 打赏
  • 举报
回复
以前见过 这个问题 升级Ado试试看
jaffy 2006-08-10
  • 打赏
  • 举报
回复
这个现象真怪,没见过
柯本 2006-08-10
  • 打赏
  • 举报
回复
应该与你的ADO有关
1.升级ADO至2.8试试
2.改用bde/dbexpress或odac,当然,你用odbc连oracle也可以
我用过多种数据引擎连过oracle,ado问题最多
痞子酷 2006-08-10
  • 打赏
  • 举报
回复
我用delphi 7.0连接Oracle数据库,数据库中存储的NUMBER字段为负
--------------------------------------------------------------
如果值超过2~32方的话,用long long试试。或者采用字符串表示。
zjx1980 2006-08-10
  • 打赏
  • 举报
回复
to关中刀客:
NUMBER字段长度好像不是问题的原因,无论多长的数,都没有负号,知道一种解决办法是把数字转化为to_char类型就能显示出来负号了,用的都是ado的asstring方法

1,178

社区成员

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

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