PB开发中遇到一些问题
1、如何在PB前台程序中调用DB2存储过程(无输入参数或有输入参数或既有输入参数又有输出参数)?
PB程序脚本:
string as_id_schd_size
int ai_seq_schd_size
DECLARE p_sample DYNAMIC PROCEDURE FOR SQLSA ;
PREPARE SQLSA FROM "US_OP.OP_SAMPLE( @IC_ID_SCHD_SIZE=:as_id_schd_size,@ISI_SEQ_SCHD_SIZE=:ai_seq_schd_size)";
EXECUTE DYNAMIC p_sample using :as_id_schd_size,:ai_seq_schd_size;
if sqlca.sqlcode <> 0 then
messagebox(string(sqlca.sqlcode) ,sqlca.sqlerrtext)
rollback using sqlca;
messagebox('提示','执行存储过程出错,请与系统维护人员联系!')
end if
close p_sample ;
if sqlca.sqlcode <> 0 then
messagebox(string(sqlca.sqlcode) , sqlca.sqlerrtext)
rollback using sqlca;
messagebox('提示','关闭存储过程出错,请与系统维护人员联系!')
end if
编译没有问题,运行后有如下报错:
sqlca.sqlcode=100
执行存储过程出错,请与系统维护人员联系!
Procedure has not been executed or has no results
关闭存储过程出错,请与系统维护人员联系!
但该存储过程在DB2命令窗口中用CALL调用运行没有任何问题。
注:该存储过程只有输入参数,没有输出参数。
2、如何在PB前台程序中调用DB2函数、如何获得返回值?