[Resolvido]O nome da coluna não foi encontrado neste resultset

2 respostas
jspjavamysqlsqlservlet
F

Estou querendo realizar a validação e autenticação de um usuário já cadastrado no sistema e pegar o nome do usuario, quero que ao digitar nos campos de login e senha na minha pagina jsp,fazer a validação das informações se estão digitadas corretamente caso esteja erradas ele mostra em uma label na pagina de login, a seguinte mensagem “Login ou senha incorretos” ou se os campos estiverem nulos ele mostra na pagina “Por favor preencha os campos de login ou senha”.

Criei uma classe DAO em que faz a consulta SQL, mas apresenta seguinte erro O nome da coluna cli_login não foi encontrado neste resultset

ClienteDAO

public Cliente validacaoLogin(String login,String senha){
     Cliente  cli = new Cliente();
    try {
        con = Conecta.conexao();
    } catch (ClassNotFoundException ex) {
        Logger.getLogger(ClienteDAO.class.getName()).log(Level.SEVERE, null, ex);
    }

 
String sql="Select cli_nome  from tb_cliente where cli_login= '" + login + "' and cli_senha= '" + senha + "'";

    try {
        pst = con.prepareStatement(sql);
           rs= pst.executeQuery();
           
        while(rs.next()){
            
              cli.setLogin(rs.getString("cli_login"));
              cli.setSenha(rs.getString("cli_senha"));
            
        
          cli.setNome(rs.getString("cli_nome"));
        
        }
        
        return cli;
    } catch (Exception e) {
        JOptionPane.showConfirmDialog(null,e);
        return null;
    }

}

Servlet

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
   // processRequest(request, response);
   String vazio="Por favor preencha os campos de login ou senha"; 
   String incorretos="Login ou senha incorretos"; 
   
    String login = request.getParameter("login");
      String senha = request.getParameter("senha");
      
        Cliente cli= new Cliente();
           LoginDAO login2= new  LoginDAO();
       // cli.setLogin(login);
        //cli.setSenha(senha);
        
     
  Cliente login_validacao=login2.validacaoLogin(login,senha);
         
  request.setAttribute("validacao_login", login_validacao); 

  if(cli.getLogin()==null && cli.getSenha()==null){
  request.setAttribute("vazio", vazio); 

 }
 else if(login_validacao.equals(request.getParameter("login")) & login_validacao.equals(request.getParameter("senha")) ){
  
 RequestDispatcher rd=request.getRequestDispatcher("/index.jsp");
rd.forward(request, response);
 }
 else{
request.setAttribute("incorreto", incorretos); 
     }
    
}

Pagina JSP

<html>
<head>
 <script type="text/javascript">
        
       function login(){

           $.ajax({  
type: "POST",  
url: "Login",  
data: {
    login: $("input[id=login]").val(),
    senha: $("input[id=senha]").val(),
    
   
},


success: function(result){   
  $('#teste').html(result);
  
},
 error:function(){
            alert("ERRO");
        },
     });
           
       } 
        
        
    </script>
</head>
 <body>
 
 <div class="login-form">
        
    <div class="row">
    <div class="col-6 col-md-4"></div>
     <div class="col-6 col-md-4">
     <h2 id="AcesseConta"><span>Acesse sua Conta</span></h2>
     <label for="vazio_resposta">${vazio.vazio}</label>
      <label for="validacao">${incorreto.incorretos}</label>
     </div>
    </div>
    
    <div class="row">
     <div class="col-6 col-md-4"></div>   
         <div class="col-6 col-md-4">
     Login:<input type="text" id="login" name="login" ><br/><br/>
     Senha:<input type="text" id="senha" name="senha" ><br/>
     <a href="">Não é cadastrado?Cadastre-se</a><br/><br/>
     </div>
        
    </div>
    
   
    
    <div class="row">
     <div class="col-6 col-md-4"></div>   
         <div class="col-6 col-md-4">
              <div id="teste"></div>  
     <button type="button" onclick="login()" >Entrar</button>  <button type="button" onclick="" >Esqueceu a Senha?</button> 
     </div>
        
    </div>
     </div>

</body>

2 Respostas

S

Você está fazendo select somente do cli_nome, aí não tem como obter o valor das outras colunas.

F

nossa verdade, coloquei as colunas restantes no select e funcionou

Criado 22 de setembro de 2017
Ultima resposta 22 de set. de 2017
Respostas 2
Participantes 2