java.sql.SQLException: набор результатов закрыт - PullRequest
0 голосов
/ 02 апреля 2012

Когда я пытаюсь выполнить свой код, я получаю сообщение об ошибке:

ОШИБКА [TripDAO] TripDAO: findAllTripsByActivityId ()
java.sql.SQLException: набор результатов закрыт.

Методы получения ошибки выглядят следующим образом:

public List<Trip> findAllTripsByActivityId(int id) {
    List<Trip> trips = new ArrayList<Trip>();

    if (obtainConnection()) {
        try {
            PreparedStatement stm = null;
            ResultSet rs = null;
            stm = con.prepareStatement(findAllTripsByActivityIdQuery
                    .toString());
            logger.info("Wybrano id: " + id);
            stm.setInt(1, id);
            rs = stm.executeQuery();
            while (rs.next()) {
                trips.add(setInObject(rs));
            }
        } catch (Exception e) {
            logger.error("TripDAO: findAllTripsByActivityId() " + e);
        } finally {
            closeConnection();
        }
    }
    return trips;
}

public Trip setInObject(ResultSet rs) throws SQLException {
    Trip trip = new Trip();
    int id = rs.getInt("id");
    trip.setId(id);
    ...
    return trip;
}

Я понятия не имею, что может быть не так в этом коде.Вы можете мне помочь?

1 Ответ

0 голосов
/ 02 апреля 2012

Вы передаете весь ResultSet методу setInObject, что, вероятно, и нарушает его. Попробуйте извлечь значения из набора результатов в вашем методе findAllTripsByActivityId.

...