gpt4 book ai didi

java - MySQL 准备好的语句不从 JavaFX 文本字段读取

转载 作者:行者123 更新时间:2023-11-29 10:53:50 25 4
gpt4 key购买 nike

我被这个问题困扰了一段时间,我不知道如何解决这个问题。问题是我的 SQL 查询没有从 javaFX 文本字段和密码字段获取输入(我正在构建一个登录窗口)。如果我手动输入值而不是从文本字段获取它们,则程序可以正常工作,否则当您按登录按钮时不会发生任何情况。问题出现在以下几行,当然没有错误消息:

 preparedStatement.setString(1,txtUserName.getText());
preparedStatement.setString(2,txtPassword.getText());

完整代码如下:

public class LoginWindow implements Initializable{

@FXML
private TextField txtUserName;
@FXML
private PasswordField txtPassword;
@FXML
private Button btnLogin;

Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;

// Setting the login button.
@FXML
private void setBtnLogin(ActionEvent event) {
try {
connection = DBUtilities.getConnection();
String sqlQuery = "SELECT * FROM user_login_details WHERE User_Name = ? AND User_Password = ?";
preparedStatement = connection.prepareStatement(sqlQuery);
preparedStatement.setString(1,txtUserName.getText());
preparedStatement.setString(2,txtPassword.getText());
resultSet = preparedStatement.executeQuery();
if(resultSet.next()) {
DBUtilities.showInforMsg("Logged in:", "You have logged in!");

} else {
DBUtilities.showErrorMsg("Error:", "Invalid username or password");

}

}catch (Exception exception) {
exception.printStackTrace();

}finally {
DBUtilities.closePreparedStatement(preparedStatement);
DBUtilities.closeResultSet(resultSet);
DBUtilities.closeConnection(connection);
}
}
@Override
public void initialize(URL location, ResourceBundle resources) {
btnLogin.setOnAction(this::setBtnLogin);
}
}

最佳答案

非常感谢。我只是没有在密码字段中提供任何 ID。

关于java - MySQL 准备好的语句不从 JavaFX 文本字段读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43311341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com