我的 postgresql 数据库上有一个返回整数值的存储过程。当我使用 CallableStatement 调用我的过程表单 jdbc 客户端时,当我在 CallableStatement 对象上调用 execute() 方法时,它只返回一个布尔值。如何读取函数的有效返回值?
问问题
6280 次
1 回答
3
您需要通过以下方式获取 ResultSet:
ResultSet rs = stmt.executeQuery("SELECT * FROM setoffunc()");
while (rs.next()) {
// read results
}
rs.close();
stmt.close();
或者:
// Procedure call.
CallableStatement proc = conn.prepareCall("{ ? = call refcursorfunc() }");
proc.registerOutParameter(1, Types.OTHER);
proc.execute();
ResultSet results = (ResultSet) proc.getObject(1);
while (results.next()) {
// read results
}
results.close();
proc.close();
有关详细信息,请参阅文档:http: //jdbc.postgresql.org/documentation/80/callproc.html
于 2013-07-24T16:49:32.950 回答