【问题标题】:Insert into Database using javafx not working properly使用 javafx 插入数据库无法正常工作
【发布时间】:2017-12-10 02:31:05
【问题描述】:

我是 javafx 中的新手,所以请原谅我的愚蠢错误,我使用 javafx 创建了一个注册 fxml,但是当我尝试存储数据时,它总是将它扔到我的模型控制器的 catch 块中,在那里我有一个对 sql 的插入查询

这是我的注册控制器

        public void Registersign(ActionEvent event){
        try {
        String Fname=fname.getText();
        String Lname=lname.getText();
        String Email=email.getText();
        String TXTusr=txtUser.getText();
        String TXTpass=txtPass.getText();
        String TXTPassconf=txtPassconf.getText();if(Fname.isEmpty()||Lname.isEmpty()||Email.isEmpty()||TXTusr.isEmpty()||TXTpass.isEmpty()){

                Alert alert=new Alert(Alert.AlertType.ERROR);
                alert.setHeaderText(null);
                alert.setContentText("Please Fill All DATA");
                alert.showAndWait();
                return;

        }
            loginModel.isRegister(TXTusr,TXTpass, Fname,Lname, Email);

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

这是我的模型控制器,用于将我的注册数据插入数据库

          public void isRegister(String user,String pass,String firstname,String lastname,String email) throws SQLException
{
    PreparedStatement preparedStatement=null;
    ResultSet resultSet=null;
      String sql = "INSERT INTO login (username, password, firstname,lastname, email) VALUES (?, ?, ?,?, ?)";
      try {
    preparedStatement=Con.prepareStatement(sql);
    preparedStatement.setString(1, user);
    preparedStatement.setString(2, pass);
    preparedStatement.setString(3, firstname);
    preparedStatement.setString(4, lastname);
    preparedStatement.setString(5, email);
     resultSet=preparedStatement.executeQuery();


        System.out.println("A new user was inserted successfully!");


} catch (Exception e) {
    // TODO: handle exception
       System.out.println("A new user was insertion failed!");
}   

它总是在 modelContoller 中的 catch 块中抛出,我通过调试器检查过它

【问题讨论】:

标签: java spring javafx


【解决方案1】:

如果使用非SELECT SQL 语句,则使用executeUpdate() 而不是executeQuery()

见:http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html#executeUpdate--

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 2019-11-26
    • 1970-01-01
    • 2016-10-17
    相关资源
    最近更新 更多