@AdaMorgan

Как решить проблему с цикличным получением записей таблицы SQL?

Я пытаюсь получить все записи из столбца таблицы базы данных PostgreSQL через JDBC в виде списка, но по какой то причине, при проходе цикла for, начиная с i = 2, столбцы не заполняются, подскажите пожалуйста причину и варианты решения

private List<String> getValues(ResultSet set, int index) throws SQLException {
        List<String> list = new ArrayList<>();
        while (set.next()) {
            list.add(set.getString(index));
        }

        return list;
    }

    private @Nullable List<Column> getColumns(ResultSet data) {
        try {
            for (int i = 1; i <= data.getMetaData().getColumnCount(); i++) {
                System.out.println(getValues(data, i));
            }
        } catch (Exception exception) {
            exception.printStackTrace();
        }

        return null;
    }

[3, 2, 1, 4]
[]
[]
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
xez
@xez Куратор тега Java
TL Junior Roo
ResultSet содержит так называемый курсор, который позиционируется на текущей строке данных. При вызове метода next, курсор перемещается на следующую строку.
Т.е. в методе getValues вы ходите по строкам, а не по столбцам.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы