[RESOLVIDO] o ArrayList só está listando a 1ª linha do BD

4 respostas
D

Eu queria fazer uma tabela em JSP que listasse todos os campos do BD… mas só aparece a 1ª linha… como se só houvesse uma aeronave no BD…


public List listaAeronaves() throws Exception{

OpenDataBase();

String SQL = “SELECT * from TBL_AERONAVE”;

pstmt = con.prepareStatement(SQL);

rs = pstmt.executeQuery();

Aeronave ae = new Aeronave();

List listaAeronaves =  new ArrayList();

if (rs.next()){

ae.setId(rs.getInt(1));

ae.setCod(rs.getString(2));

ae.setNome(rs.getString(3));

ae.setAssento(rs.getString(5));

ae.setTipo(rs.getString(4));

listaAeronaves.add(ae);

<a href="//rs.next">//rs.next</a>();

}
return listaAeronaves;
}

****************** PAGINA JSP que apresenta o ArrayList ********************************

<%
  try{
	  AeronaveDAO aed = new AeronaveDAO();
	  List<Aeronave> lista = aed.listaAeronaves();
      for(Aeronave ae : lista){
  %>
  <tr>
      <td><%=ae.getCod()%></td>
      <td><%=ae.getNome()%></td>
      <td><%=ae.getAssento()%></td>
      <td><%=ae.getTipo()%></td>
      
      
  </tr>

  <%
      }
  } catch(Exception e){
	  out.print("Erro:" + e.getMessage());
	  
  }
  %>

4 Respostas

domzinhuu

Bom nao sei se resolve mas tenta colocar esta linha:

ae = new Aeronave();

logo apois esta linha do seu codigo:

listaAeronaves.add(ae);
A

domzinhuu:
Bom nao sei se resolve mas tenta colocar esta linha:

ae = new Aeronave();

logo apois esta linha do seu codigo:

listaAeronaves.add(ae);

Se fizer isso vai estar inserindo um objeto nulo no ArrayList. O certo é trocar esse if(rs.next()) por um loop while e criar o objeto Aeronave dentro dele, para cada registro encontrado. Assim:

pstmt = con.prepareStatement(SQL); 
List<Aeronave> listaAeronaves = new ArrayList<Aeronave>();
while (rs.next()){
    Aeronave ae = new Aeronave(); 
    ae.setId(rs.getInt(1));
    ae.setCod(rs.getString(2));
    ae.setNome(rs.getString(3));
    ae.setAssento(rs.getString(5));
    ae.setTipo(rs.getString(4));
    listaAeronaves.add(ae);
}
D

vlw cara… era esse detalhe q eu estava esquecendo!!!
obrigadão!!!

A

Bora botá RESOLVIDO no post !!!

Criado 29 de abril de 2013
Ultima resposta 30 de abr. de 2013
Respostas 4
Participantes 3