我正在开发一个数据库应用程序,使用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