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