java调用存储过程没有返回结果集,但是单独执行存储过程就可以, 10

 我来答
jippo08456
2015-09-02 · TA获得超过2630个赞
知道小有建树答主
回答量:915
采纳率:0%
帮助的人:633万
展开全部
public HashMap a() throws DataAccessException {
  HashMap result = new HashMap();
  
  StringBuffer sqlBuf = new StringBuffer();
  sqlBuf.append("{call AAA_P(");
  sqlBuf.append("?,?");
  sqlBuf.append(")}");
  Connection conn = null;
  CallableStatement pstmt = null;
  ResultSet rest = null;
  
  String bb= "0";
  int cc= 0;
  try {
   conn = getConnection();
   pstmt = conn.prepareCall(sqlBuf.toString());
   int i = 1;
   
   pstmt.registerOutParameter(i++, java.sql.Types.NUMERIC);
   pstmt.registerOutParameter(i++, java.sql.Types.NUMERIC);
   
   rest = pstmt.executeQuery();  
   int j = 1;                 
   bb= pstmt.getInt(j++);               
   cc= pstmt.getString(j++);   
            
   result.put("bb", bb);
   result.put("cc", cc);
   
  }  catch (Exception e) {
    null;
  } finally {
   close(rest, pstmt, conn);
  }
  return result;
 }
更多追问追答
追问
如果我换个简单的查询存储过程 ,就有返回结果集啊
追答
不知道你具体的代码,可能是你这个过程没有返回结果。debug一下,看看你传入的参数和你测试的是否一致。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式