我正在開發一個數據庫應用程序,使用Java和MySQL作爲數據庫。 正在使用Netbeans作爲開發工具。使用Netbeans刷新數據庫的jTable
我需要在JTable中顯示存儲的數據庫。
現在,當我通過查詢將數據添加到數據庫。 JTable沒有立即顯示更新的細節。我需要重新啓動應用程序,即再次運行它。
現在我需要知道如何在數據庫發生更改時刷新JTable。
請爲我提供步驟或示例編碼,因爲我無法在Internet上找到某個編碼示例。
我正在開發一個數據庫應用程序,使用Java和MySQL作爲數據庫。 正在使用Netbeans作爲開發工具。使用Netbeans刷新數據庫的jTable
我需要在JTable中顯示存儲的數據庫。
現在,當我通過查詢將數據添加到數據庫。 JTable沒有立即顯示更新的細節。我需要重新啓動應用程序,即再次運行它。
現在我需要知道如何在數據庫發生更改時刷新JTable。
請爲我提供步驟或示例編碼,因爲我無法在Internet上找到某個編碼示例。
也許這足以燒透表模型的變化:
yourTable.getModel().fireTableDataChanged()
每當數據庫中的數據變化,你需要重新創建TableModel的,然後用新模式更新表:
TableModel的模型= ...
table.setModel(model);
你也可以使用下面的代碼,如果你已經實例化tableNameList作爲觀察到:
tableNameList.clear();
tableNameList.addAll(tableQuery.getResultList());
是的,它是正確的,但只有在stanciated tableNameList可觀察。 – adev
我面臨同樣的問題,然後我創建「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);
}
FOR刷新按鈕: -
DefaultTableModel model=(DefaultTableModel) TB1.getModel();
while(model.getRowCount()>0){
model.setRowCount(0);
}
UPDATEtable();
讓我嘗試它,並告訴ü –
它不工作的fireTableDataChaged ()方法未被檢測到 –
無用的帖子,請編輯您的帖子並添加一些關於JTable,TableModel ...,並且沒有人知道OP的開發工具是什麼 – mKorbel