Carregar dados por id[RESOLVIDO]

Ontem achei uma solução para fazer carregar os dados do cliente atravez de um CarregarPorId…Até entao está tudo bem, o problema é que ele só vai carregar no Id da tabela…ou seja…se tiver + de 3 dados cadastrados usando a chave estrangeira, só vai pegar o 1 dado…

Tenho a tabela atividades…nela tem
id, horario, nome, funcionario_id e o cliente_id…
O funcionario cadastras as atividades no id do cliente…quando o cliente loga com o login dele…Tem que aparecer os dados que foram cadastrados no id dele…mas aqui no caso, está mostrando apenas 1 dado…queria saber se para mostrar o restante dos dados…seria necessario um Cont++ ou algo desse jeito para não aparecer apenas 1…

Segue cod da pagina que recebe…
<%@include file=“menu_cliente.jsp” %>
<%@page import=“model.Atividades”%>
<%@page import=“java.util.ArrayList”%>
<%@page import=“model.Cliente”%>
<%
String id = request.getParameter(“id”);
Cliente c = new Cliente();
ArrayList lista = new ArrayList();
Atividades a = new Atividades();
ArrayList listas = new ArrayList();
try {
a.setId(Integer.parseInt(id));
a.carregarPorCliente();
listas = a.listar();
} catch (Exception e) {
out.print("Erro: " + e);
}

%>
<%@ page contentType=“text/html; charset=ISO-8859-1” language=“java” pageEncoding=“UTF-8” import=“java.sql.*” errorPage="" %>

Conexão Saúde
<!-- Navigation -->

 <nav class="navbar navbar-expand-lg navbar-light bg-faded py-lg-4">
     <div class="container">
    <div class="collapse navbar-collapse" id="navbarResponsive">
      <ul class="navbar-nav mx-auto">
        <li class="nav-item px-lg-4">
          <a class="nav-link text-uppercase text-expanded bg-inverse text-white" href="painel_cliente.jsp"><img src="imagens/perfil.png"/> Perfil</a>
        </li>
        <li class="nav-item px-lg-4">
          <a class="nav-link text-uppercase text-expanded bg-inverse text-white" href="cronograma.jsp"><img src="imagens/calendarr.png"/> Cronograma</a>
        </li>
        <li class="nav-item">
    <a class="nav-link bg-inverse text-white" href="index.jsp"><img src="imagens/exit.png"/>Sair</a>
  </li>  
      </ul>
    </div>
         </div>
</nav> 
    
<br>
<form method="post" action="atividades.jsp">
<div class="container">
<table class="table table-striped custab">
    
<h1>Cronograma</h1>
<thead>
    <tr>
        <th>Horario</th>
        <th>Segunda</th>
        <th>Terça</th>
        <th>Quarta</th>
        <th>Quinta</th>
        <th>Sexta</th>
        	
    </tr>
</thead>
   <%
       int cont = 0; 

if (cont == 0){

%>


        <%=a.getHorario()%>  
        
        </td> 
    <td>
        <%=a.getNome() %>  
         <%   cont++; %>
    </td>  
  
    <%
        }
        %>
</tr> 
</table>
    <br>
</div>
</form> 
<!-- /.container -->

Page © - 2017 Conexão Saúde

<!-- Bootstrap core JavaScript -->
<script src="vendor/jquery/jquery.min.js"></script>
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>

<!-- Zoom when clicked function for Google Map -->

E A DAO DESSA TABELA… no caso o cod q faz esse de carregar o cliente…

public Atividades carregarPorCliente(int id) throws Exception{

    Atividades a = new Atividades();
    String sql="SELECT * FROM atividades WHERE cliente_id=?";
    this.conectar();
    PreparedStatement pstm = conn.prepareStatement(sql);
    pstm.setInt(1, id);
    ResultSet rs =  pstm.executeQuery();
    if (rs.next()) {
        a.setId(rs.getInt("id"));
        a.setHorario(rs.getString("horario"));
        a.setNome(rs.getString("nome"));
        a.setDia(rs.getString("dia"));     
        FuncionarioDAO uDAO = new FuncionarioDAO();
        a.setFuncionario(uDAO.carregarPorId(rs.getInt("funcionario_id")));
        ClienteDAO cDAO = new ClienteDAO();
        a.setCliente(cDAO.carregarPorId(rs.getInt("cliente_id")));
    }
    this.desconectar();
    return a;
}

Troque o if por while

1 curtida

Jà conseguir corrigir por um outro método, mas obg mesmo assim…