簡體   English   中英

Java中有多個具有相同ResultSet的jTable

[英]More than one jTable with the same ResultSet in Java

您可以使用相同的resultSet填充多個jTable嗎?

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顯示它們。

在不了解太多代碼的情況下,我想說您需要調用DbUtils.resultSetToTableModel(rs)一次,並將結果表模型存儲在局部變量中。 然后,將該局部變量傳遞給兩個setModel(...)方法

我如何用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();
        }

您不能只為第二個表調用相同的方法嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM