Botão de login (MySql+Java)

Cadastrei em um banco de dados algumas informaçoes (senha e nome), criei uma tela de acesso para que caso o nome e a senha coincidam no banco ele possa ser redirecionado para outra tela, porem por algum motivo, quando ele não se encontra o “else” não está sendo aplicado, alguem poderia verificar o código e me dizer a razão?

(o campo vazio e o if para a verificação no banco está funcionando perfeitamente, o problema está onde era pra ser o “acesso negado” no else, ele apenas clica no botao e não ocorre nada.)

String nome = Nome.getText();
String senha = Senha.getText();
if (senha.equalsIgnoreCase("") && nome.equalsIgnoreCase("")){
JOptionPane.showMessageDialog(null, “digite algo nos campos” , “ERRO”, JOptionPane.ERROR_MESSAGE);
}else{
Connection con = null;
try {
con = ConnectionFactory.getConnection();
String sql = “select nome,senha from funcionarios where nome= '” +nome +"'and senha= ‘"+senha+"’;";
Statement stm;
stm = con.createStatement();
ResultSet rs = stm.executeQuery(sql);
while(rs.next()){
String nomedb = rs.getString(“nome”);
String senhadb = rs.getString(“senha”);
if(nome.equals(nomedb) && senha.equals(senhadb)){
Principal abrirprincipal = new Principal();
abrirprincipal.setVisible(true);
this.dispose();
}else{
JOptionPane.showMessageDialog(rootPane, senhadb);
}
}

        } catch (SQLException e) {
           e.printStackTrace(); //vejamos que erro foi gerado e quem o gerou
            JOptionPane.showMessageDialog(null,"Erro na conexão com o banco de dados!","ERRO DE CONEXAO",JOptionPane.WARNING_MESSAGE);
        }finally {
            try{
                con.close();
            }catch(SQLException onConClose){
                //System.out.println("Houve erro no fechamento da conexão");
                JOptionPane.showMessageDialog(null,"Erro na conexão com o banco de dados!","ERRO DE CONEXAO",JOptionPane.WARNING_MESSAGE);
                onConClose.printStackTrace();
            }
         
        
         
    }
    }