在查询分析器内执行,但是在程序运行中报错;
这大概是我碰到过测最蹊跷的事情之一:一段程序,在本机正常运行,在客户那里运行报错,报错内容如下:
尝试将不可为NULL的列的值设置为NULL;
在客户电脑做数据跟踪,得到跟踪语句:
execute Tc_repairstock @cwhcode ='006' , @querydate ='2016-5-4 0:0:0.000' , @maxid =2 , @isconuncheck =0
拷贝到查询分析器里可以正常执行;
仔细看过数据库连接对象,也没有错啊,不明白为什么报这样的错误,一点解决的头绪都没有,附程序如下:
--前面是声明变量和赋值;
DECLARE Pb_repairstock PROCEDURE FOR Tc_repairstock
@cwhcode = :ls_cwhcode,
@querydate = :dd_querdate,
@maxid = :ll_maxid ,
@isconuncheck = :ll_isconuncheck
;
EXECUTE Pb_repairstock;
IF sqlca.SQLCode >= 0 THEN
COMMIT Using sqlca;
//messagebox('提示','当前客户应收已自动核销,请重新查询参照')
ELSE
ls_err = sqlca.SQLErrText
ROLLBACK Using sqlca;
MessageBox('提示','查询失败,请参考错误提示'+ls_err)
RETURN
END IF