java调用存储过程没有返回结果集,但是单独执行存储过程就可以, 10
1个回答
展开全部
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一下,看看你传入的参数和你测试的是否一致。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询