您可以使用相同的jTable
填充多个resultSet
吗?
public void tableDisplay() {
String tableQuery = "SELECT foodQuantity,foodName FROM food ORDER BY RAND() LIMIT 3";
ResultSet rs;
PreparedStatement statement;
try {
statement = con.prepareStatement(tableQuery);
rs = statement.executeQuery();
jTable1.setModel(DbUtils.resultSetToTableModel(rs));
jTable2.setModel(DbUtils.resultSetToTableModel(rs));
} catch (SQLException ex) {
System.out.println(ex.toString());
}
}
代码编译但第二个表没有从DB获取任何记录。
关键是我需要从mySql表中选择随机项,我想在少数jTables
中显示它们。
答案 0 :(得分:3)
在不了解您的代码的情况下,我要说您需要调用DbUtils.resultSetToTableModel(rs)
一次,并将生成的表模型存储在本地变量中。然后,将该局部变量传递给两个setModel(...)方法
答案 1 :(得分:1)
如何使用resultSet填充JTable
try{
playerTableModel = (DefaultTableModel)playerTable.getModel();
rs = controller.getPlayer();
while (playerTableModel.getRowCount() > 0);
int columns = playerTableModel.getColumnCount();
Object[] rows = new Object[columns];
while(rs.next()){
rows[0] = rs.getString(1);
rows[1] = rs.getString(2);
rows[2] = rs.getString(3);
rows[3] = rs.getString(4);
playerTableModel.addRow(rows);
}catch(Exception e){
e.printStackTrace();
}
你也不能只为第二张表调用相同的方法吗?