Pesquisa de cliente por Cpf

Boa tarde, não estou conseguindo retornar uma lista de dados de cliente

DAO-----------------------

public ArrayList<Cliente> buscaCpf() throws Exception{
     ArrayList<Cliente> busca = new ArrayList<Cliente>();
    String sql = "SELECT * FROM cliente WHERE cpf=?";
    PreparedStatement pstm = conn.prepareStatement(sql);
    ResultSet rs = pstm.executeQuery();
    while (rs.next()) {
    Cliente c = new Cliente();
    c.setCpf(rs.getString("cpf"));
            c.setNome(rs.getString("nome"));
            c.setTelefone(rs.getString("telefone"));
            c.setSexo(rs.getString("sexo"));
            c.setEndereco(rs.getString("endereco"));
            c.setCelular(rs.getString("celular"));
            c.setSenha(rs.getString("senha"));
            busca.add(c);
}
this.desconectar();
        return busca;
}

FORM-------------

<h1>Lista de Clientes(<a href="form_inserir_cliente.jsp">Novo</a>)</h1>
         <form action="pesquisa_cliente.jsp" method="post" id="form_cliente_cpf">
         <input type="hidden" name="op" value="buscaporCpf"/>
         <input type="text" name="cpf" />
         <input type="submit"  value="Buscar" />

QUE VAI SER REDIRECIONADO PARA ESSA PAGINA:

<body>
         <%@include file="menu.jsp" %>
        
        <h1>Lista de Clientes(<a href="form_inserir_cliente.jsp">Novo</a>)</h1>
        
        <form method="post" id="form_cliente" action="gerenciar_cliente.do">
            <input type="hidden" name="op" value="buscaporCpf"/>
         <label for="nome">Digite o Cpf:</label><br />
         <input type="text" name="cpf" value="" />
         <input type="hidden" value="cpf" nome="cpf" />
         <input type="submit" value="Buscar" /><br /><br />
         </form>


</form>
        <table border="1">
            <tr>
                <th>CPF</th>
                <th>NOME</th>
                <th>TELEFONE</th>
                <th>SEXO</th>
                <th>ENDEREÇO</th>
                <th>CELULAR</th>
                <th>SENHA</th>
                <th>OPÇÕES</th>
            </tr>
            <%
            ArrayList<Cliente> listaCpf = new ArrayList<Cliente>();
            try{
                listaCpf = c.listarCpf();
            }catch(Exception e){
                out.print("Erro: "+e);
            }      
            for(Cliente cl:listaCpf){
            %>
            
            <tr>
                <td><%=cl.getCpf()%></td>
                <td><%=cl.getNome() %></td>
                <td><%=cl.getTelefone() %></td>
                <td><%=cl.getSexo() %></td>
                <td><%=cl.getEndereco() %></td>
                <td><%=cl.getCelular() %></td>
                <td><%=cl.getSenha() %></td>
                <td><a href="form_registrar_agendamento.jsp?cpf=<%=cl.getCpf()%>">Novo Agendamento</a> 
                    <a href="form_alterar_cliente.jsp?cpf=<%=cl.getCpf()%>">Alterar</a> 
                    <a href="#" onclick="excluir('<%=cl.getCpf() %>','<%=cl.getNome() %>')">Excluir</a></td>
            </tr>
            <%
            }           
            %>
        </table>
    </body>

</form>

Quem puder me ajuda a solucionar o erro, obrigado, ele não está retornando nenhum valor para a pagina que foi redirecionada

Ele apresenta algum erro?

Seguinte, vi que você não esta passando nenhum parâmetro para busca.

PreparedStatement pstm = conn.prepareStatement(sql);
pstm .setString(1, cpf);

1 curtida

muito obrigado amigo, eu fiz exatamente isso, agora vi que o problema era esse, obrigado

1 curtida

Ok, fico feliz em ter ajudado. Marque como resolvido por favor e boa sorte!