Problema com Vector (Lista)

4 respostas
fabio.nascimento

Pessoal

Não estou conseguindo recuperar de forma alguma meus registros oriundos de uma consulta, segue abaixo os trechos dos codigos:

Trecho da classe FilmeDb

public Vector getAllFilmes() throws FilmeException {
		
		Connection conn = null;
		PreparedStatement prestmt  = null;
		ResultSet rs = null;
		Vector listaFilme = new Vector();
		
		try {
			
			conn = conexao.getConexao();
			prestmt = conn.prepareStatement(Retornar_Todos_Filmes);
			rs = prestmt.executeQuery();
			
			while (rs.next()) {
				Filme filme = new Filme();
				filme.setFilmeId(rs.getInt("Filme_id"));
				filme.setFilmeTitulo(rs.getString("Filme_titulo"));
                                listaFilme.add(filme);				
			}
		} catch (SQLException e) {
        	System.out.println(e.getMessage());
            FilmeException.imprimeErro(e, "Nao foi possivel listar os filmes");
        } catch (Exception e) {
			e.printStackTrace();
		} finally {
            conexao.closeAll(conn, prestmt, rs);
        }
		return listaFilme;
	}

Trecho da classe FilmeServlet:

public void doActionListarTodosFilmes (HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
		
                //Filme filme = pegaValoresFilme(request);
		FilmeDb filmedb = new FilmeDb();
		try {
                    //filmedb.getAllFilmes();
                    request.setAttribute("listaFilme", filmedb.getAllFilmes());
                    //System.out.println("" + filmedb.getAllFilmes());
                    getServletContext().getRequestDispatcher("/Catalogo_Filme_AZ.jsp").forward(request, response);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

Trecho da pagina JSP que recupera os dados:

<%  String contexto = request.getContextPath(); %>	
 
 <%   Vector listaFilme = (Vector) request.getAttribute("listaFilme"); 
 	  Filme filme = null; 

out.println((Vector)request.getAttribute("listaFilme"));
%>
 	  
 <% for (int i = 0; i < listaFilme.size(); i++) {
	 filme = (Filme) listaFilme.elementAt(i); %>
    
    <tr class="tabelaconteudo">
    <td><%=filme.getFilmeTitulo()%></td>
    <td><%=filme.getFilmeId()%></td>
    <td>Baixando...</td>
    </tr>
<%}%>

Acontece que dei um out.println e percebi que meu vetor vem vazio, sendo que existe dados na base e também na hora de compilar nao dá erro nenhum…

Já tentei várias coisas, mas nao progredi em nada.

Alguem pode me ajudar ?

Obrigado

Fabio Nascimento

4 Respostas

fabio.nascimento

Pessoal por favor

Qq dica já vale, eu sei que devo tá pisando na bola em alguma coisa no codigo mas nao to conseguindo localizar de jeito nenhum.

Mais uma vez, por favor.

Grato

Fabio nascimento

Roger75

Se não aparece nenhum erro no console do servidor então o problema está na query que você usa para fazer select dos dados.

Na hora de debugar pegue a query e teste no banco pra ver se retorna algo.

fabio.nascimento

Roger75:
Se não aparece nenhum erro no console do servidor então o problema está na query que você usa para fazer select dos dados.

Na hora de debugar pegue a query e teste no banco pra ver se retorna algo.

Roger, eu já havia feito isso e no MySql minha query funciona certinho, eu capturei com out.println minha queryu e tá tudo normal

To achando que nao to sabendo trabalhar com Lista, vou ler mais um pouco pra ver se tem algum item que tenha passado desapercebido.

Mas tem como vc dar uma analisada no codigo da minha lista e verificar por cima se to errando em algo :???

Aff é pq de tanto olhar me parece que nao tem nada de errado, mas sempre outra pessoa olhando acaba achando algum erro.

Valeus.

Fabio Nascimento

the_negao

Tente assim:

Filme filme; while (rs.next()) { filme = new Filme(); filme.setFilmeId(rs.getInt("Filme_id")); filme.setFilmeTitulo(rs.getString("Filme_titulo")); listaFilme.add(filme); }

Criado 5 de novembro de 2006
Ultima resposta 6 de nov. de 2006
Respostas 4
Participantes 3