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
@ErnestKiwele спасибо за ваш ответ. Да, есть две строки данных, и я хочу показать их все. Как я могу справиться с этим с помощью компонента?
Вам нужно выбрать компонент, который отображает несколько значений ... например, таблицу, список и т. д. Похоже, что таблица - ваш лучший вариант, поскольку у вас также есть несколько столбцов ...




Либо вы создаете строку, а затем устанавливаете эту строку с помощью 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 ()».
Если у вас есть несколько значений, вы не можете использовать
.setTextдля отображения всех из них, вам нужно будет либо отобразить эти значения в компоненте таблицы, либо объединить все значения перед вызовом.setTextнаta.