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

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);
//rs.next();
}

	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());
	  
  }
  %>

Bom nao sei se resolve mas tenta colocar esta linha:

ae = new Aeronave();

logo apois esta linha do seu codigo:

listaAeronaves.add(ae); 

[quote=domzinhuu]Bom nao sei se resolve mas tenta colocar esta linha:

ae = new Aeronave();

logo apois esta linha do seu codigo:

listaAeronaves.add(ae); [/quote]

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);
}

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

Bora botá RESOLVIDO no post !!!