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

0

ta.setText - это TextArea, где я хочу показать все мои данные из базы данных после нажатия кнопки. Но с rs.get("name") я просто 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
  • 0
    Если у вас есть несколько значений, то вы не можете использовать .setText для отображения всех их, вам нужно будет либо отобразить эти значения в компоненте таблицы, либо .setText все значения перед вызовом .setText для ta .
  • 0
    @ErnestKiwele спасибо за ваш ответ. Да, есть две строки данных, и я хочу показать их все. Как я могу справиться с этим с компонентом?
Показать ещё 1 комментарий
Теги:
database

1 ответ

2
Лучший ответ

Либо вы создаете строку, а затем задаете эту строку с помощью 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());

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

while (rs.next()) {
   ta.append(rs.getString("name"));
   ta.append(" ");
   ta.append(rs.getString("nachname"));
   ta.append("\n");
}
  • 0
    спасибо @Joakim Danielson. Когда я пытаюсь это сделать, я получаю сообщение об ошибке «Метод getString (int) в типе ResultSet не может использоваться для аргументов th ()».
  • 0
    Это невероятно, это работает! большое спасибо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню