与mysql数据库和nullpointerexception有关的问题

时间:2020-04-10 23:34:57

标签: java mysql nullpointerexception javafx-11 java-12

我制作了一个JavaFX应用程序,其GUI具有以下四个方面:

  • 名为TextField的{​​{1}}(使用用户名)
  • 名为name的{​​{1}}(输入密码)
  • 称为PasswordField的{​​{1}}(有一种与此password(男性,女性,其他)有关的方法)
  • 名为ToggleGroup的{​​{1}}(使用位置名称)

底部有一个注册按钮,用于获取所有数据并将其保存到MySQL数据库中

以下是与ToggleGroup相关的方法

gender

以下是注册按钮的事件处理程序:

ToggleGroup

这是我面临的问题:当我输入以下所有详细信息,然后单击“注册”按钮时,它向我显示此错误:

TextField

locationField下,有一行显示:

public String getGender() {
    String gen = "";
    if (male.isSelected()) {
        gen = "Male";
    } else if (female.isSelected()) {
        gen = "Female";
    } else if (other.isSelected()) {
        gen = "Other";
    }
    return gen;
}

与注册按钮方法的内容类似:

 @FXML
 public void signUP() throws SQLException{
    progress.setVisible(true);
    PauseTransition pt = new PauseTransition();
    pt.setDuration(Duration.seconds(3));
    pt.setOnFinished(e -> System.out.println("Sign Up Successful!"));
    pt.play();

String url = "jdbc:mysql://localhost:3306/genius";
    String user = "root";
    String password = "$Can$123";
    String sql = "insert into coders(names,password,gender,address)" + "values (?,?,?,?)";
    try {
        connection = DriverManager.getConnection(url, user, password);
        pst = connection.prepareStatement(sql);
        pst.setString(1, name.getText());
        pst.setString(2, password);
        pst.setString(3, getGender());
        pst.setString(4, locationField.getText());
        pst.executeUpdate();
    } catch (NullPointerException e) {
        e.printStackTrace();
    }
}

如何解决此错误。任何帮助将不胜感激,谢谢!

0 个答案:

没有答案