一个resultset / resultset.next()返回false中的多个语句



我正在从两个具有两个不同查询的表中选择数据。我正在使用一个连接和一个结果集。两个表都填充了,但是第二个查询的resultset.next((返回false,尽管必须为true。

我还试图使用两个不同的准备准备和连接,但这对我来说都没有。

DataSource ds = null;
Connection c = null;
PreparedStatement ps = null;
String sql = "SELECT * FROM TABLE1"
String sql2 = "SELECT * FROM TABLE2"
ds = // My datasource
c = ds.getConnection();
ps = c.prepareStatement(sql);
ResultSet resultSet = ps.executeQuery();
while (resultSet.next()) {
    // do smth
    // works
}
ps.close();

ps = c.prepareStatement(sql2);
resultSet = ps.executeQuery();
while (resultSet.next()) {
    // do somth
    // does not work although TABLE2 is populated
}
ps.close();

因此,由于查询SQL2的数据保留,因此程序应跳入第二个环路。你有什么建议吗?谢谢!

在关闭准备序列之前尝试关闭结果集。

另外,如果您有例外,则使用尝试/捕获以清理东西是非常好的练习。请参阅JDBC结果集和语句必须单独关闭,尽管该连接之后已关闭?

相关内容

  • 没有找到相关文章

最新更新