首页 > 数据库技术 > 详细

Oracle调用存储过程返回游标结果

时间:2020-01-01 18:02:23      阅读:83      评论:0      收藏:0      [点我收藏+]

/**

调用Oracle存储过程

*/

public ResultSet queryForAllJSD_NEWEST(final String hpCode, final String id) {

System.out.println("hpCode:"+hpCode+",id:"+id);
ResultSet rs = (ResultSet)this.jdbctemplate.execute("{call pro_querybcb_newest(? , ? ,?)}" , new CallableStatementCallback(){
public Object doInCallableStatement(CallableStatement cs)
throws SQLException, DataAccessException {
cs.setString(1, hpCode) ;
cs.setString(2, id) ;
cs.registerOutParameter(3, oracle.jdbc.OracleTypes.CURSOR);
cs.execute();
return cs.getObject(3);
}
});
return rs;
}

 

/**

处理返回结果

*/

ResultSet rs = dao1.queryForAllJSD_NEWEST(hpCode, id);

try {
  if (rs.next()) {
  ResultSetMetaData rsmd = rs.getMetaData();
  int i = rsmd.getColumnCount();
  System.out.println("i=" + i);
  for (int j = 1; j <= i; j++) {
    map.put(rsmd.getColumnName(j),rs.getString(j) == null ? "" : rs.getString(j));
    }
    }
  } finally {
  if (rs != null) {
    try {
      rs.close();
      } catch (SQLException e) {
  }
}

 

map.put("name", md.get("A4"));
map.put("idno", md.get("A7"));
map.put("Indate", md.get("A16"));
map.put("outdate", md.get("A17"));
map.put("hosno", md.get("A15"));
map.put("sick", md.get("A24"));

Oracle调用存储过程返回游标结果

原文:https://www.cnblogs.com/fkeyta/p/12129219.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!