Consulta retorna repete dados

2 respostas
S

tenho 2 registros no meu b.d e quero retornar os 2... so que na hora da consulta.. eh apresentado na tabela 2 registros repetidos em vez de aparecer os 2 diferentes...
testei o select no postgres e esta certo...

vejam o código

public List ConsultacomPlaca (DomainObject domainObject){
    List<Orcamento> listaorcamento = new ArrayList<Orcamento>();
    try{
        Orcamento orcamento = (Orcamento) domainObject;
        Connection conn = ConectionBD.getConnection();
        String sql = null;
        sql = "select distinct * from orcamento where placa_veiculo = ?";
    
      // pst.setString(1,orcamento.getVeiculo().getPlaca());
          PreparedStatement pst = conn.prepareStatement(sql);
       
    pst.setString(1,orcamento.getVeiculo().getPlaca());

         ResultSet rs = pst.executeQuery();
    //orcamento.setVeiculo(veiculo);

        while (rs.next()){


                  Cliente cliente = new Cliente();
                  cliente.setCPF(rs.getInt("cpf_cliente"));
                  orcamento.setCliente(cliente);

Veiculo veiculo = new Veiculo();
                  veiculo.setPlaca(rs.getString("placa_veiculo"));
                  orcamento.setVeiculo(veiculo);

                  Funcionario funcionario = new Funcionario();
                  funcionario.setID(rs.getInt("idfunc"));
                  orcamento.setFuncionario(funcionario);

                  orcamento.setData(rs.getString("data_orcamento"));

                  orcamento.setValor(rs.getDouble("valor"));

                  orcamento.setObservacao(rs.getString("observacao"));
                  listaorcamento.add(orcamento);


             
                 
        }

    }catch(Exception e){
    e.printStackTrace();
    JOptionPane.showMessageDialog(null, e.getMessage());
    }

        return listaorcamento;

2 Respostas

rugi

Você deve criar um novo ornamento obejto e não usá-lo.
Assim:

tempOrnamento Ornament = null;
while (rs.next ()) (
    tempOrnamento Ornament = new ();
    ...
    ...
    ...
   listaorcamento.add (Orçamento)
)

RuGI

S

eu criei um new orcamento dentro do while e deu certo… vlw

Criado 21 de junho de 2010
Ultima resposta 24 de jun. de 2010
Respostas 2
Participantes 2