Создать проще столько объектов String сколько столбцов в разных таблицах JTable
Подскажите, как сделать так, чтобы Object[] row заполнялось таким количеством столбцов, какое имеется в запрашиваемой таблице.
headers.size() = 7, поэтому rs.getString(i++) написано 7 раз. Меньше можно, больше - ошибка.
Как написать код так, чтобы не надо было создавать вручную столько rs.getString(i++), сколько столбцов в другой таблице базы данных?
static void select() {
try {
PreparedStatement st = c.prepareStatement("select * from " + table_name);
ResultSet rs = st.executeQuery();
while (rs.next()) {
int i = 1;
Object[] row = new Object[]{
rs.getString(i++),
rs.getString(i++),
rs.getString(i++),
rs.getString(i++),
rs.getString(i++),
rs.getString(i++),
rs.getString(i++)
};
Gui.model.addRow(row);
}
} catch () {}
}
Ответы (1 шт):
Автор решения: NarasuOo
→ Ссылка
int columnCount = rs.getMetaData().getColumnCount(); // Получаем число столбцов
Object[] arr = new Object[columnCount];
Arrays.setAll(arr, x -> rs.getString(x)); // Заполняем массив