【发布时间】:2019-04-07 00:29:41
【问题描述】:
我有一个基本的登录功能,如果用户在输入用户名和密码后单击登录按钮,它会从数据库中获取并检查用户名和密码是否正确并将其显示给管理员 jframe,但我想要根据用户类型显示jframe。例如。管理员,获取管理员 Jframe,客户获取客户 jframe。在这种情况下,Admin = 1,customer = 2 等等,那么如何从数据库中检查 userRole 并显示它们各自的 jframe?
我尝试查找有关如何执行此操作的教程,但我发现的只是基本教程,不涉及获取 userType/Role
public boolean isLogin(String user, String pass) throws Exception{
PreparedStatement pr = null;
ResultSet rs = null;
String sql = "SELECT * FROM Login where username = ? and password = ?";
try{
pr = this.connection.prepareStatement(sql);
pr.setString(1, user);
pr.setString(2, pass);
rs = pr.executeQuery();
if(rs.next()){
return true;
}
return false;
}
catch(SQLException ex){
return false;
}
finally{
pr.close();
rs.close();
}
}
登录控制器
@FXML
public void Login (ActionEvent event){
try{
if(this.loginModel.isLogin(this.username.getText(), this.password.getText())){
Stage stage = (Stage) this.login.getScene().getWindow();
stage.close();
adminLogin();
}
else{
this.loginStatus.setText("The username or password entered is incorrect. Please check and try again.");
}
}
catch(Exception localException){
}
}
【问题讨论】:
-
我不知道你的数据库方案,但你正在从
Login表中获取所有(SELECT *)数据。如果role在该表中,只需执行rs.getString('role');之类的操作