List

2 respostas
vilmar86

Estou tentando fazer um List para retornar mais de um objeto, mas não estou conseguindo… Alguém pode me ajudar?

2 Respostas

S

coloca seu codigo ai…

vilmar86
public List<Venda> getListaVenda() throws SQLException{
     String sql = "select dbo.vilmar_venda.id, dbo.vilmar_venda.quantidade as quantidade_vendida, dbo.vilmar_venda.precoTotal, dbo.vilmar_produto.nome, dbo.vilmar_produto.descricao, dbo.vilmar_cliente.nome as nome_cliente from dbo.vilmar_venda, dbo.vilmar_produto, dbo.vilmar_cliente where dbo.vilmar_venda.Produto_id = dbo.vilmar_produto.id and dbo.vilmar_cliente.id = dbo.vilmar_venda.Cliente_id";


    PreparedStatement stmt = con.prepareStatement(sql);
    ResultSet rs = stmt.executeQuery();

    List<Venda> listVenda = new ArrayList<Venda>();
   
    while(rs.next()){
          // estancio os objetos que quero adicionar a lista
          Venda v = new Venda();
          Produto p = new Produto();
          Cliente c = new Cliente();

           // seto os campos aqui

           listVenda.add(v); // aqui encontra-se o problema. Pois posso adicionar apenas um objeto na lista, mas quero os tres para poder efetuar minha consulta e retornar os objetos desejados
    }
         rs.close();
         stmt.close();
         return listVenda;

}

bom, resolvi meu problema com o seguinte método ResultSet

public ResultSet listaVedas() throws SQLException{
		String sql = " select dbo.vilmar_venda.id, dbo.vilmar_venda.quantidade as quantidade_vendida,"+
					 "  dbo.vilmar_venda.precoTotal, dbo.vilmar_produto.nome, dbo.vilmar_produto.descricao,"+
					 "  dbo.vilmar_cliente.nome as nome_cliente " +
					 " from " +
					 "		  dbo.vilmar_venda , dbo.vilmar_produto, "+
					 " 		  dbo.vilmar_cliente " +
					 " where   dbo.vilmar_venda.Produto_id = dbo.vilmar_produto.id "+
					 " 			and dbo.vilmar_cliente.id = dbo.vilmar_venda.Cliente_id ";		
		PreparedStatement stmt = con.prepareStatement(sql);
		return stmt.executeQuery();

	}

Quem achar uma melhor solução desde já agradeço
Até mais

Criado 18 de agosto de 2009
Ultima resposta 18 de ago. de 2009
Respostas 2
Participantes 2