Я имею в виду два набора результатов?
Почему у вас есть два ReultSets? У вас есть два варианта:
Измените ваш SQL-запрос, чтобы получить данные в один ResultSet
Не используйте DBUtils для создания TableModel
В этом случае вам необходимо загружать данные из ResultSet вручную по одной строке за раз.
Для первого ResultSet вам нужно создать столбцы для таблицы, а затем добавить строки данных. Основная логика будет:
Vector<Object> columnNames = new Vector<Object>();
Vector<Object> data = new Vector<Object>();
// Read data from a table
String sql = "Select * from ???";
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery( sql );
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
// Get column names
for (int i = 1; i <= columns; i++)
{
columnNames.addElement( md.getColumnName(i) );
}
// Get row data
while (rs.next())
{
Vector<Object> row = new Vector<Object>(columns);
for (int i = 1; i <= columns; i++)
{
row.addElement( rs.getObject(i) );
}
data.addElement( row );
}
rs.close();
stmt.close();
connection.close();
}
catch(Exception e)
{
System.out.println( e );
}
Для второго ResultSet вы просто добавляете данные в Вектор.
Затем вы создаете DefaultTableModel, используя два вектора, и создаете JTable, используя TableModel.