用Java从存储过程中提取结果集

时间:2018-09-24 18:12:54

标签: java db2 resultset

我正在使用旧的方式在Java中执行存储过程:

CallableStatement cs = 
con.prepareCall("schema.procedure("?,?,?,?");
cs.setString(1, "f");
cs.setString(2, "f");
cs.registerOutParameter(3, Types.CHAR);
cs.registerOutParameter(4, Types.CHAR);
cs.execute();
System.out.println(cs.getString(3));

我可以检索输出列,但是该过程还返回其他结果作为游标的一部分,我可以使用:

进行检索。
ResultSet rs= cs.executeQuery()
while (rs.next()) {
for(int i=1;i<=rs.getMetaData().getColumnCount();i++){
rs.getString(i)

我的问题是,我可以在同一条语句中同时检索输出和光标吗? 谢谢,

1 个答案:

答案 0 :(得分:0)

谢谢所有,终于成功了,如果该方法有任何问题,请提出建议:

CallableStatement cs = 
con.prepareCall("schema.procedure("?,?,?,?");
cs.setString(1, "f");
cs.setString(2, "f");
cs.registerOutParameter(3, Types.CHAR);
cs.registerOutParameter(4, Types.CHAR);
cs.execute();
System.out.println(cs.getString(3));
ResultSet rs = cs.getResultSet();
while (rs.next()) {
    for(int i=1;i<=rs.getMetaData().getColumnCount();i++){
        rs.getString(i)
    }
}