我有一个带有文本框的页面,该文本框通过 Oracle 中的存储过程传递了一个值。过程发生了变化,现在有 2 个参数,一个用于输入值,另一个用于返回整数值。
以下是 Oracle 程序:
procedure UnoxDataFix(p_shpmt_nbr in pkms.asn_hdr.shpmt_nbr%type, retval out integer) is
begin
retval:=0;
for r in (
-- simple select statement
)
loop
if(r.stat_code = 10 and r.whse_xfer_flag = 'Y')
then
update pkms.asn_dtl ad
-- simple set statement
update pkms.asn_hdr ah
-- simple set statement
where ah.shpmt_nbr = p_shpmt_nbr
RETURNING 1 into retval;
commit;
end if;
end loop;
end;
这是我拥有的核心 C# 代码:
this.oraServer.ExecuteNonQuery(this.connectionString, CommandType.Text, "begin INTEGRATION.UnoxDataFix('" + input + "'); end;");
连接字符串有效。这只是给出错误的实际程序。“输入”值是发送到过程的实际值。但是为了将“retval”返回到站点,我不知道该怎么做。我已经尝试过谷歌搜索,但它没有帮助。我有点慢,所以欢迎所有评论。:)