executeQuery()
设计用于与返回游标(通常是SELECT
查询)的sql语句一起使用。您的调用不会返回游标,因此不适合与此方法一起使用。您应该只使用execute()
,然后从输出参数获取值:
cstmt = conn.prepareCall("BEGIN addition(?, ?,?); END;");
cstmt.setInt(1, 10);
cstmt.setInt(2, 85);
cstmt.registerOutParameter(3, java.sql.Types.INTEGER);
cstmt.execute();
int c = cstmt.getInt(3);
System.out.println(c);