在sqlserve中用
select max(finterid) from icstockbillentry whee fitemid=124
可以得到正确的值。
而在PB中用
select max(finterid) into :li_finterid from icstockbillentry where fitemid=:li_fitemid using sqlca;
得到的却是NULL,不知道是什么原因。
请大家帮忙看一下。
------解决方案--------------------
跟蹤一下li_fitemid這個值是多少,是不是變量值不對
------解决方案--------------------
select max(finterid) into :li_finterid from icstockbillentry where fitemid=:li_fitemid using sqlca;
1.其中li_fitemid 的值是多少,fitemid 列中有没有与li_fitemid相等的数据?如果没有,max(finterid)当然是空;
您用select max(finterid) into :li_finterid from icstockbillentry where fitemid=124 using sqlca; 试一下。
2.finterid是什么数据类型?是否与li_finterid 相一致,如果不一致应当报错.
------解决方案--------------------
这
select max(finterid) into :li_finterid from icstockbillentry where fitemid=:li_fitemid using sqlca;
是没问题的,看得出这个是金蝶K/3的数据库,关键看li_fitemid 的值是否取对,或者对应的fitemid 有没有对应的记录。