繁体   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