1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Consulta banco de dados

Boa tarde galera, o problema é como receber essa consulta de array list, pois faço a consulta no formulário e tem que mostrar em uma tabela, não esta pegando os dados, se alguém souber me ajudar.

 public ArrayList<Passagem> listaPassagens() {
      ArrayList<Passagem> listaPassagens = new ArrayList<Passagem>();
        try {
            Passagem p = new Passagem();
            Connection conexao = getConexao();
            PreparedStatement pstm = conexao.prepareStatement(
                "Select * from passagem where " +
                "origem = ? " +
                "OR destino = ? " +
                "OR data = ?");

            pstm.setString(1, p.getOrigem());
            pstm.setString(2, p.getDestino());
            pstm.setString(3, p.getData());

            ResultSet rs = pstm.executeQuery();



            while (rs.next()) {
                p.setIdpassagem(rs.getInt("idpassagem"));
                p.setOrigem(rs.getString("origem"));
                p.setDestino(rs.getString("destino"));
                p.setData(rs.getString("data")); 
                p.setPartida(rs.getString("partida"));
                p.setChegada(rs.getString("chegada"));
                p.setValor(rs.getInt("valor"));
                p.setIdonibus(rs.getInt("idonibus"));                   

                listaPassagens.add(p);
            }

            pstm.close();
            conexao.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

        return listaPassagens;
    }

Formulario:

 <form action="passagem.jsp" method="post">  
            Cidade Origem:
            <input type="text" name="origem">
            <br>
            <br>
            Cidade Destino:
            <input type="text" name="destino">
            <br>
            <br>
            Data:
            <input type="text" id="datepicker" name="data" > 
            <br>
            <br>
            <input type="submit" value="busca"/>
        </form>

Do formulário, manda para essa pagina para receber os dados:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <form method="post" action="AdicionarCarrinho.jsp"> 
        <table border="1">
            <th>Selecione Passagem</th>
            <th>Cidade Origem</th>
            <th>Cidade Destino</th>
            <th>Data</th>
            <th>Partida</th>
            <th>Chegada</th>
            <th>Preço(R$)</th>
            <th>Id Onibus</th>
            <th>Quantidade</th>
            <%
             PassagemDAO pdao = new PassagemDAO();

             if(request.getParameter("origem") != null && request.getParameter("destino") != null 
                     && request.getParameter("data") != null){


                List<Passagem> todos = pdao.listaPassagens();
                for (int i = 0; i < todos.size(); i++) {
                Passagem p = todos.get(i);

                p.setOrigem(request.getParameter("origem"));  

                p.setDestino(request.getParameter("destino"));

                p.setData(request.getParameter("data"));


              System.out.println(todos.size());           

            %>                       <tr>
                    <td align="center">  <input type="checkbox" name="comprar_ <%= p.getIdpassagem() %>" value="Sim"> </td>
                    <td> <%= p.getOrigem() %> </td>
                    <td> <%= p.getDestino() %> </td>
                    <td> <%= p.getData() %>" </td>
                    <td> <%= p.getPartida() %> </td>
                    <td> <%= p.getChegada() %> </td>                  
                    <td> <%= p.getValor() %></td>
                    <td> <%= p.getIdonibus() %> </td>
                    <td align="center">  <input type="text" name="quantidade_<%= p.getIdpassagem() %>" size="1" maxlength="3" value="1"> </td>

                </tr>
            <%  
                }
            %>
            <p> <input type="submit" value="Adicionar ao Carrinho" name="Submit">
                <input type="reset" name="Limpar" value="Limpar"> </p> 
        </table>
        </form>
    </body>
</html>

No caso eu precissava mostra todos os dados na consulta, em uma tabela, que uso para adicionar no carrinho de compras, tentei faze um for, mais ele não trazia nenhum dado.

  • Não entendi direito, o seu SELECT retorna apenas uma linha de resposta? Já testou ele diretamente no banco? As vezes pode não ser erro do código e sim problema com o seu código SQL

    ingoguilherme   15 de ago de 2015
  • sim exemplo, consulto viagem de São Paulo para Rio de Janeiro, na data 16/08/15, so aparece 1 uma consulta com a data mais recente.

    destinix   16 de ago de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags jsp html ou faça a sua própria pergunta.