[英]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.