繁体   English   中英

同时打开两个结果集

[英]Open two resultsets simultaneously

我正在尝试这样做:

while (rs.next()) {
    int id = rs.getInt(1);

    ResultSet innerRs = stmt.executeQuery("select something from sometable where id =" + id + ";");

    String one = innerRs.getString(1);
    String two = rs.getString(2);    //result set is already closed thrown here. 

}

但我收到错误“结果集已关闭”。 我正在使用Postgresql。 我真的想不出另一种方法,这不是很费力的。 如何解决这个错误?

您不需要两个结果集。 只需学习 SQL JOIN子句 ,即可在单个SQL查询中从两个不同的表中获取所需的数据。

如果确实需要,那么创建一条单独的语句而不是重用现有的语句确实是可行的方法。 重用它会强制关闭所有先前打开的游标(结果集)。

您使用stmt.executeQuery() ,是否使用stmt执行rs 如果是这样,则需要一条新statement因为在已使用的语句上创建查询会强制其关闭,从而导致此错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM