Java-вывод всех столбцов и строк ResultSet

ta.setText - это TextArea, где я хочу показать все мои данные из базы данных после нажатия кнопки. Но с rs.get("name") я просто выводлю одно значение, и оно всегда последнее. Как я могу распечатать всю таблицу из базы данных, чтобы вся информация, которая там хранится?

            try { String newquery = "SELECT * FROM kunden";
            java.sql.PreparedStatement ps = con.prepareStatement(newquery);
            rs = ps.executeQuery(newquery);


            while (rs.next()){              

            ta.setText(rs.getString("name"));
            ta.setText(rs.getString("nachname"));
            }


        }// try
        catch(Exception e1) {
        JOptionPane.showMessageDialog(null, "fail");


      }
      }//actionperformed

Если у вас есть несколько значений, вы не можете использовать .setText для отображения всех из них, вам нужно будет либо отобразить эти значения в компоненте таблицы, либо объединить все значения перед вызовом .setText на ta.

ernest_k 26.05.2018 14:10

@ErnestKiwele спасибо за ваш ответ. Да, есть две строки данных, и я хочу показать их все. Как я могу справиться с этим с помощью компонента?

Lia 26.05.2018 14:44

Вам нужно выбрать компонент, который отображает несколько значений ... например, таблицу, список и т. д. Похоже, что таблица - ваш лучший вариант, поскольку у вас также есть несколько столбцов ...

ernest_k 26.05.2018 14:56
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
1 854
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Либо вы создаете строку, а затем устанавливаете эту строку с помощью setText ()

StringBuilder builder = new StringBuilder();
while (rs.next()) {
   builder.append(rs.getString(“name”));
   builder.append(“ “);
   builder.append(rs.getString(“nachname”));
   builder.append(“\n“);       
}
ta.setText(builder.toString());

Или вы используете метод добавления, который существует для TextArea

while (rs.next()) {
   ta.append(rs.getString(“name”));
   ta.append(“ “);
   ta.append(rs.getString(“nachname”));
   ta.append(“\n“);
}

спасибо @Joakim Danielson. Когда я пытаюсь это сделать, я получаю сообщение об ошибке «Метод getString (int) в типе ResultSet не поддерживает th arguments ()».

Lia 28.05.2018 12:21

Другие вопросы по теме