当前位置:主页>销售管理软件> 列表

ORACLE中18位的number字段,用ADO连接怎么取 找小型企业财务软件

仓库管理软件版1楼: 各位富翁,十万火急,帮帮忙啊。
我用ADO连ORACLE数据库,有个字段是number类型,值为18位。这样select出来后,
ADO报错溢出。
例如: 表A : B Varchar2(3), C number(18);
----------------------------------------
B C
123 200601142154553330
-----------------------------------------
另有表Z, 结构和 表A 一样,现要把表A数据读出并存入表Z中。
要怎样处理???

谢谢各位了!!!

2楼: select的时候转化为字符看看行不行!
T0_Char(C) 如免费的仓库管理软件

3楼: to royal1442:
这样取出来是可以,但是我要保存到另一个表怎么办?

4楼: 用ADOQuery,这样写“INSRT INTO Z SELECT * FROM A WHERE TO_CHAR(C)=''200601142154553330''”应该可以吧?

5楼: 保存的时候,直接用SQL语句、让数据库来处理!

6楼: to Johnny_du :
这两个表是在不同的数据库里

仓库管理软件版7楼: 不同的数据库,存在类型和精度兼容的问题!

8楼: 各位高手,给点意见啊。


怎么把那个字段取出来?

9楼: 取的时候用字符串来取,不用多说了!
存的时候,用此字符串来合成一个SQL 语句:
''insert into XXX (B, C) Values(''''''+B字段的字符串值+'''''',''+ C字段的数字字符串值 +'')''

10楼: A to_char那边出来
Z to_number进去
行不?我没试过

11楼: to sun_8113:
我要以数值的形式取出来,好像TBCD可以处理的,但是我没找到关于TBCD的用法

12楼: select 200601142154553330/10e10 from dual;
把数变小了不行了,或者分开两段 如小型企业财务软件

13楼: 问题解决了。
把Dataset的EnableBCD属性设为false,在用asfloat取的值。

谢谢各位的捧场!