PreparedStatement - 获取最后一个 ResultSet

Posted

技术标签:

【中文标题】PreparedStatement - 获取最后一个 ResultSet【英文标题】:PreparedStatement - getting the last ResultSet 【发布时间】:2011-10-27 13:02:23 【问题描述】:

可以执行以下PreparedStatement:

PreparedStatement s = conn.prepareStatement("select 'a' as a; select 'b' as b");
s.execute();

即该语句可以包含多个 SQL 语句。

但是,如果我调用s.getResultSet(),它只会考虑第一个查询(返回“a”的查询)。我怎样才能从这个语句中得到last ResultSet

【问题讨论】:

为什么不拆分语句? 提供一些例子,为什么需要使用多个语句? 什么数据库?某些数据库和/或 JDBC 驱动程序不支持一次调用或多个结果集中的多个查询。 【参考方案1】:

您可以使用getMoreResults()移动到此语句对象的下一个结果,并隐式关闭使用getResultSet方法获得的任何当前ResultSet对象,然后再次调用getResultSet() .

【讨论】:

以上是关于PreparedStatement - 获取最后一个 ResultSet的主要内容,如果未能解决你的问题,请参考以下文章

Java PreparedStatement 检索最后插入的 ID [重复]

Java -- JDBC 学习--PreparedStatement

即使 PreparedStatement 仅使用一次,ResultSet 关闭错误后也不允许操作

获取使用 PreparedStatement 更新的行数

JDBC PreparedStatement 批量查询 in 的实现 方案

如何获取 PreparedStatement 的 SQL?