Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.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数据库中,带黄线_Java_Mysql - Fatal编程技术网

Java记录未保存在mysql数据库中,带黄线

Java记录未保存在mysql数据库中,带黄线,java,mysql,Java,Mysql,我正在开发一个简单的java应用程序,将其保存到mysql数据库中。它工作正常,直到我的一些代码上出现黄线。然后记录无法再次保存到先前保存的数据库中 然后“con”和“Exception”开始显示黄色错误行。错误代码说我应该在连接上使用“try”,我使用了,但仍然没有使用。请帮忙。谢谢 我的代码: try { Class.forName(driver); Connection con = DriverManager.getConnection(url, u

我正在开发一个简单的java应用程序,将其保存到mysql数据库中。它工作正常,直到我的一些代码上出现黄线。然后记录无法再次保存到先前保存的数据库中

然后“con”和“Exception”开始显示黄色错误行。错误代码说我应该在连接上使用“try”,我使用了,但仍然没有使用。请帮忙。谢谢

我的代码:

    try {
        Class.forName(driver);
        Connection con = DriverManager.getConnection(url, user, pass);
        String sql = "insert into biodatum " + "(firstname, lastname,       address, occupation, phone, email, image, gender, religion)"
        + "values (?,?,?,?,?,?,?,?,?)";
        PreparedStatement pst = con.prepareStatement(sql);
        //InputStream is  = new FileInputStream(new File(s));
        pst.setString(1, firstname.getText());
        pst.setString(2, lastname.getText());
        pst.setString(3, address.getText());
        pst.setString(4, occupation.getText());
        pst.setString(5, phone.getText());
        pst.setString(6, email.getText());
        pst.setBytes(7, image_person);
        pst.setString(8, gender.getSelectedItem().toString());
        pst.setString(9, religion.getSelectedItem().toString());



        JOptionPane.showMessageDialog(this, "Record Saved");
        firstname.setText("");
        lastname.setText("");
        address.setText("");
        occupation.setText("");
        phone.setText("");
        email.setText("");
        image_path.setText("");

        pst.close();
        con.close();

    }
    catch (Exception e){
        JOptionPane.showMessageDialog(this, e.getMessage());
    }
} 

什么是执行您准备好的语句

如果您的代码在此之前工作过,那么您无意中删除了一些重要的内容,例如执行准备好的语句的代码行,它应该看起来像:

pst.executeUpdate();
因此,您的代码应该如下所示:

..................................
..................................
String sql = "INSERT INTO biodatum " + "(firstname, lastname, address, occupation, phone, email, image, gender, religion) "
        + " VALUES (?,?,?,?,?,?,?,?,?)";
PreparedStatement pst = con.prepareStatement(sql);
pst.setString(1, firstname.getText());
pst.setString(2, lastname.getText());
pst.setString(3, address.getText());
pst.setString(4, occupation.getText());
pst.setString(5, phone.getText());
pst.setString(6, email.getText());
pst.setBytes(7, image_person);
pst.setString(8, gender.getSelectedItem().toString());
pst.setString(9, religion.getSelectedItem().toString());
pst.executeUpdate();  // ************ HERE ***************
..................................
..................................

“黄线”你的意思是eclipse向你显示了一个资源警告吗?不,我在使用,netbeans IDE,是的,是一个资源警告,所以它告诉你要使用。但如果这不能解决问题,那就是你的问题是无关的(obv)。它只是更干净的编码,因为它保证连接是关闭的。没错,我这样做了,但它仍然没有保存,只是混淆了。非常感谢,这是真的,我想我错删除了那行。这种情况时有发生;)