关于Oracle的参数是游标,如何处理(mirth)

文章介绍了两种处理存储过程输出参数为游标的方法:一是设置为-10,二是导入特定的jar包并使用ResultSet。示例代码展示了如何在Java中执行存储过程,获取游标结果并遍历。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.存储过程的出参是一个游标,怎么去取值。

解决:

法一:设置成-10。这种最简单

c.registerOutParameter(6,-10);

  c.registerOutParameter(6,-10);

法二:必须要导入游标的jar包,即可。

c.registerOutParameter(6,mcrs.CURSOR);

//var  para = "{\"reqId\":\"345678\",\"action\":\"dictList\",\"param\":{},\"licence\":\"qmg\"}";
//
//var str = CallHttp(para);
//$c('str',str);
var mcrs = new Packages.ygly.TestYouBiao();
//var result = new Packages.java.sql.ResultSet();
var  id_no = msg['ControlActProcess']['id_no'].toString();
var card_type = msg['ControlActProcess']['card_type'].toString();
var channel_flag  = msg['ControlActProcess']['channel_flag'].toString();


var con = GetConnection("HIS");
var dncon=con.getConnection();
var c=dncon.prepareCall("{call appuser.APP_201_PAT_INDEX.Pro_Get_PatientInfo(?,?,?,?,?,?)}");
    c.setString(1,id_no);
    c.setString(2,card_type);
    c.setString(3,"");
    c.registerOutParameter(4,java.sql.Types.DECIMAL);
    c.registerOutParameter(5,java.sql.Types.VARCHAR);
    c.registerOutParameter(6,mcrs.CURSOR);
    c.execute();
var statecode =  c.getBigDecimal(4);
$c('statecode',statecode);
var msgcode = c.getString(5);
$c('msgcode',msgcode);
var result = mcrs.ToTransResultSet(c.getObject(6));

while(result.next()){
    var  ss = result.getString(1);
    $c('ss',ss);  
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值