当前位置: 代码迷 >> PB >> 关于Powerbuilder only supports 18 decimal digits的有关问题
  详细解决方案

关于Powerbuilder only supports 18 decimal digits的有关问题

热度:195   发布时间:2016-04-29 09:09:57.0
关于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
2250000000000000000000000000000204416 AX0Q 11500
2250000000000000000000000000000204417 AX0Q 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 。
  相关解决方案