Problema com sistema de login e senha em java
Olá pessoal tudo bem?.
Estou fazendo um sistema e estou com um probleminha no momento em que o usuário digita o login e a senha.
Quando o login e senha estão corretos é chamado a janela principal do sistema, mas caso ele digite o login ou a senha errados ele não é redirecionado para a outra janela, mas é ai que está o problema, pois caso o usuário erre os dados de login uma vez o sistema não chama mais a janela principal, mesmo ele colocando correto os dados de login.
vou colocar meu código abaixo
Este é o método verificaUsers da classe UsuarioSistemaDAO.
Como podem ver caso o usuário e a senha constem no banco de dados a variável retorno recebe true caso contrario é false.
Este é o botão que chama a outra janela.
Resumindo quando a variável retorno do meu método verificaUsers recebe false, este valor não é mais alterado, mesmo o usuário digitando os dados corretos.
Já tentei de tudo(tudo o que eu sei é claro kkk) mas nada resolveu.
Estou fazendo um sistema e estou com um probleminha no momento em que o usuário digita o login e a senha.
Quando o login e senha estão corretos é chamado a janela principal do sistema, mas caso ele digite o login ou a senha errados ele não é redirecionado para a outra janela, mas é ai que está o problema, pois caso o usuário erre os dados de login uma vez o sistema não chama mais a janela principal, mesmo ele colocando correto os dados de login.
vou colocar meu código abaixo
public boolean verificaUsers(UsuariosSistema user) throws SQLException{
String nome = user.getNome();
int senha = user.getSenha();
int id = user.getId();
boolean retorno = false;
while(rs.next()){
String name = rs.getString("nome");
int password = rs.getInt("senha");
//int identificador = rs.getInt("id");
if(nome.equals(name) && senha == password){
retorno = true;
//return retorno;
}
}
System.out.println("Retorno verifica users"+retorno);
return retorno;
}Este é o método verificaUsers da classe UsuarioSistemaDAO.
Como podem ver caso o usuário e a senha constem no banco de dados a variável retorno recebe true caso contrario é false.
private void entrarActionPerformed(java.awt.event.ActionEvent evt) {
String nome = txfUsuario.getText().toLowerCase();
MetodosUteis ut = new MetodosUteis();
String name = ut.removeAcentos(nome);
usuarios.setNome(name);
String senha = txfSenha.getText();
usuarios.setSenha(Integer.parseInt(senha));
try {
boolean ret;
ret = usuarioDAO.verificaUsers(usuarios);
//do{
// boolean ret = usuarioDAO.verificaUsers(usuarios);
if (ret == true) {
JanelaPrincipal js = new JanelaPrincipal();
js.setVisible(true);
this.setVisible(false);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
} else {
txfUsuario.setText("");
txfSenha.setText("");
System.out.println(ret);
// ret = true;
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Erro ao chamar método verificarUsers classe telaLogin" + ex);
}Este é o botão que chama a outra janela.
Resumindo quando a variável retorno do meu método verificaUsers recebe false, este valor não é mais alterado, mesmo o usuário digitando os dados corretos.
Já tentei de tudo(tudo o que eu sei é claro kkk) mas nada resolveu.
João Lima
Curtidas 0
Respostas
João Lima
26/08/2017
Pessoal, consegui resolver o problema.
Era o result set que eu não estava chamando no meu método verificaUsers
Era o result set que eu não estava chamando no meu método verificaUsers
GOSTEI 0
Estevão Dias
26/08/2017
Opa João,
Legal que conseguiu resolver, um abraço.
Legal que conseguiu resolver, um abraço.
GOSTEI 0