簡體   English   中英

使用Netbeans用數據庫刷新jTable

[英]Refreshing jTable with Database with Netbeans

我正在使用Java和MySQL作為數據庫開發數據庫應用程序。 我正在使用Netbeans作為開發工具。

我需要在JTable中顯示存儲的數據庫。

現在,當我通過查詢將數據添加到數據庫時。 JTable不會立即顯示更新的詳細信息。 我需要重新啟動應用程序,即再次運行它。

現在,我需要知道在數據庫發生更改時如何刷新JTable。

請提供步驟或編碼示例,因為我無法在Internet上找到某個編碼示例。

也許通過表模型觸發更改就足夠了:

yourTable.getModel().fireTableDataChanged()

每當數據庫中的數據更改時,您都需要重新創建TableModel,然后使用新模型更新表:

TableModel模型= ...

table.setModel( model );

我遇到了同樣的問題,然后創建了一個名為“ UPDATEtable()”的函數,在其中放置了連接代碼,並在需要從Mysql在Jtable中輸入數據時調用該函數。 對於“刷新”按鈕,我首先從表中清除了數據,然后調用了相同的函數。

這是代碼:-(表變量名-TB1)

private void **UPDATEtable()**{
        DefaultTableModel model=(DefaultTableModel) TB1.getModel();
try{



  stmt= con.createStatement();
    String query="SELECT * FROM goods ORDER BY order_num DESC;";
ResultSet rs = stmt.executeQuery(query);
    while(rs.next()){
        String PID = rs.getString("PID");
     String Pname = rs.getString("Pname");
       String NUM = rs.getString("order_num");
      model.addRow(new Object[] {PID ,Pname,NUM);

    }


}


catch(Exception e)
{
    System.out.print(e);

}

對於刷新按鈕:-

    DefaultTableModel model=(DefaultTableModel) TB1.getModel();
        while(model.getRowCount()>0){
    model.setRowCount(0);
}

        UPDATEtable();

如果您將tableNameList實例化為可觀察的,也可以使用以下代碼:

tableNameList.clear();
tableNameList.addAll(tableQuery.getResultList());

暫無
暫無

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

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