Откройте два набора результатов одновременно - PullRequest
0 голосов
/ 05 марта 2011

Я пытаюсь сделать это:

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. Я не могу найти другой способ сделать это, который не очень трудоемкий. Как я могу обойти эту ошибку?

Ответы [ 2 ]

4 голосов
/ 05 марта 2011

Вам не нужно два набора результатов.* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *1008* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} *.* необходимо, тогда создание отдельного оператора вместо повторного использования существующего действительно путь.Повторное его использование приведет к закрытию всех ранее открытых курсоров (наборов результатов).

3 голосов
/ 05 марта 2011

Вы используете stmt.executeQuery(), вы использовали stmt для выполнения rs?Если это так, вам нужен новый statement, так как создание запроса по тому, который вы использовали, уже заставляет его закрыться, что приводит к этой ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...