Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 向数据库(mysql)添加数据时,JTable不会刷新_Java_Mysql_Database_Jtable - Fatal编程技术网

Java 向数据库(mysql)添加数据时,JTable不会刷新

Java 向数据库(mysql)添加数据时,JTable不会刷新,java,mysql,database,jtable,Java,Mysql,Database,Jtable,我有一个insert按钮,当我单击insert按钮时,数据应该被添加到数据库中。但是,只有当我关闭程序并重新启动时,数据才会显示。我启动了更新代码,但它没有更新。谁能给我一些提示,告诉我如何在JTable中更新数据库 提前感谢在catch之后添加一个finally块,用于关闭连接和preparedStatement insert.addActionListener(new ActionListener() { public void actionPerformed(Ac

我有一个insert按钮,当我单击insert按钮时,数据应该被添加到数据库中。但是,只有当我关闭程序并重新启动时,数据才会显示。我启动了更新代码,但它没有更新。谁能给我一些提示,告诉我如何在JTable中更新数据库

提前感谢

在catch之后添加一个finally块,用于关闭连接和preparedStatement

insert.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                    try{

                        String sql1 = "Insert into supplier (SupplierID, CompanyName,PhoneNumber) values (?,?,?)";
                        Connection conn = null;
                       conn = DriverManager.getConnection("jdbc:sqlite:C:\\Users\\Jela\\Desktop\\repo\\Master\\Working\\database.db");
                       PreparedStatement pst = conn.prepareStatement(sql1);
                       pst.setString(1, supplierID.getText());
                       pst.setString(2, companyname.getText());
                       pst.setString(3, contactnumber.getText());

                       pst.execute();

                       System.out.println("data inserted");
                       conn.close();

                    }catch(Exception e2){

                    System.out.println(e2);
                    }

   try{
    String sql2 = "Select * FROM supplier";
    Connection conn1 = null;
    conn1 = DriverManager.getConnection("jdbc:sqlite:C:\\Users\\Jela\\Desktop\\repo\\Master\\Working\\database.db");
    PreparedStatement pst = conn1.prepareStatement(sql2);
    ResultSet rs = pst.executeQuery();
    DefaultTableModel model1 = new DefaultTableModel(data, columnNames);
  table.setModel(model1);
  conn1.close();

        }catch(Exception e3){
        System.out.println(e3);
        }

            }

        });
关闭资源的另一种方法是使用try with resources语句

 ...
 } finally {

        if (pst!= null) {
            pst.close();
        }

        if (conn != null) {
            conn .close();
}

select语句和sql2一起工作吗?它会给你一个异常吗?顺便问一下,你从来没有关闭过连接..我不知道,因为那部分是我更新JTable的代码,它不会给我一个异常答案,如果我关闭连接,更新函数会工作吗,但是,更新功能仍然不工作。我关闭了conn和conn1连接,但没有成功
 try (Connection conn = DriverManager.getConnection(myConnectionURL);
       PreparedStatement pst = conn.prepareStatement(sql1);)