Имею много таблиц в БД с разных кол-вом полей, которые необходимо вывести в JTable. Идея такова:
private void createUIComponents() {
Connection connection;
try {
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection(connectionString,login,password);
String select = "SELECT * FROM printinghousedb.districts";
Vector<String> fields = new Vector();
fields.add("DistrictId");
fields.add("DistrictName");
DistrictsTable = new JTable(data, columnNames);
Vector data = new Vector();
data = getTable(connection,select,fields);
DistrictsTable = new JTable(data, fields);
//инициализация других таблиц...
} catch (Exception e) {
e.printStackTrace();
}
}
private Vector[] getTable(Connection connection, String request, Vector fields) throws
SQLException {
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery(request);
while (rs.next()) {
//...
Не знаю что делать дальше, как из ResultSet формировать Vector?
Обновление
DistrictsTable = new JTable(data, columnNames); — лишняя строка, оставшаяся от предыдущих попыток. Забыл убрать, извиняюсь.
Vector содежит метод add(). Используйте его:
Vector<Vector<>> mainVector = new Vector<Vector<>>();
while (rs.next()) {
Vector vec = new Vector<>();
vec.add(rs.getString(1));
vec.add(rs.getString(2));
vec.add(rs.getString(3));
// и так далее
mainVector.add(vec);
}
И еще немного непонятна эта часть:
//data не инициализирована, имели ввиду fields?
DistrictsTable = new JTable(data, columnNames);
Vector data = new Vector();
data = getTable(connection,select,fields);
DistrictsTable = new JTable(data, fields);
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники