【发布时间】:2014-11-27 16:54:45
【问题描述】:
我正在使用 Java 准备好的语句在 PostgreSQL 数据库中执行存储过程。像这样:
String sql = "select testFkt(?,?,?,?,?)";
try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
preparedStatement.setInt(1, a
preparedStatement.setInt(2, b);
preparedStatement.setInt(3, c);
preparedStatement.setByte(4, d);
preparedStatement.setString(5, "test");
try (ResultSet result = preparedStatement.executeQuery()) {
}
}
存储过程返回一个结果,但我对结果不感兴趣。
我仍然必须使用ResultSet(并尝试使用)还是可以只使用preparedStatement.executeQuery()?
我担心会打开一个流或类似的东西,因为存储过程返回一个结果,如果我不使用ResultSet,这个流不会关闭。
【问题讨论】:
-
请注意,有时(取决于数据库和存储过程的具体情况),您实际上需要读取存储过程的整个结果集实际完成所有工作。
标签: java postgresql jdbc prepared-statement resultset