我是javafx新手,所以请原谅我的愚蠢错误,我使用javafx创建了一个注册fxml,但是当我尝试存储数据时,它总是将其扔到我的模型 Controller 的catch block 中,其中我有一个sql插入查询
这是我的注册 Controller
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();
}
}
这是我的模型 Controller ,用于将我的注册数据插入数据库
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 block ,我已经通过调试器检查了它
最佳答案
如果使用非SELECT
SQL 语句,请使用executeUpdate()
而不是executeQuery()
。
参见:http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html#executeUpdate--
关于java - 使用 javafx 插入数据库无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44942874/