Итак, у меня есть этот контроллер входа в систему, который выполняет блок 'else', когда детали верны, то есть введенные имя пользователя и пароль существуют в базе данных.Этого не должно быть.Что должно произойти, так это то, что если детали верны, блок 'if' должен быть выполнен, а затем он переходит в другую сцену, а если детали неверны, появится всплывающее предупреждение (содержимое блока 'else').
Log_inController.java
public class Log_inController implements Initializable {
private DBConnection dc;
@FXML TextField txtUn;
@FXML PasswordField txtPw;
@FXML Button btnLogin;
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
@FXML
public void log_in (ActionEvent event) throws SQLException, IOException {
dc = new DBConnection();
try{
String name = txtUn.getText();
String pass = txtPw.getText();
Connection conn = dc.Connect();
ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM tbl_lib WHERE lib_acc = '"+ name +"'");
if(rs.next()){
String database_name = rs.getString(1);
String database_pass = rs.getString(2);
if(name.equals(database_name) && pass.equals(database_pass)){
Parent x=FXMLLoader.load(getClass().getResource("/Collection_UI/Home.fxml"));
Scene M= new Scene(x);
Stage app=(Stage)((Node)event.getSource()).getScene().getWindow();
app.setScene (M);
app.show();
}else{
Alert alert = new Alert(AlertType.WARNING);
alert.setHeaderText("Invalid Credentials");
alert.setContentText("Please input your valid username and password then try again");
alert.showAndWait();
}
}
}
catch(SQLException ex){
System.err.println("Error"+ex);
}
}
}
Вот скриншот, когда вводятся правильные данные:
https://imgur.com/8k0s7ia
Что можетбыть сделано, чтобы исправить это и достичь желаемого эффекта?Пожалуйста. * * 1013