读书人

关于Powerbuilder only supports 18 d

发布时间: 2012-03-05 11:54:03 作者: rapoo

关于Powerbuilder only supports 18 decimal digits的问题
PB6.5+SQL SERVER 2008 开发的一个程序,其中
数据库端有张表
CREATE TABLE GL_RAW_STAGING
(
LOAD_ID numeric(38, 0) IDENTITY(1,1) NOT NULL,
FUND_CODE varchar(100) NULL,
ACCOUNT_NO varchar(100) NULL
)
数据如下:
LOAD_ID FUND_CODE ACCOUNT_NO
2250000000000000000000000000000204416AX0Q 11500
2250000000000000000000000000000204417AX0Q 12000

现在设计一个datawindow来显示这张表,当我打开datawindow,并且点击preview这个datawindow时,会报以下错误:

Decimal conversion error,Powerbuilder only supports 18 decimal digits.错误已经很明显,是因为LOAD_ID的numeric 是38,超出了pb的18长度。现在数据库这端不能作修改,那在PB应用程序里可以怎么修改呢???


[解决办法]
select cast(LOAD_ID as varchar(38)) as LOAD_ID , ... from ...

转成varchar类型的
[解决办法]
绑定,试试:
一编辑DW 的代码,把数据类型改成其它的;
二重新DW 的SQL语句,加上convert()什么的把它转成string 。

读书人网 >PB

热点推荐