Problema com consulta e Jtable

3 respostas
S

estou fazendo uma consulta no banco so que ele so me retorna 2 campos do b.d repetidos...
em vez de retornas 2 ids diferentes ele me retornas 2 id iguais.

segue o metodo de consulta.

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  * 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()){
      
 orcamento.setID(rs.getInt("idorcamento"));

                  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;

}

3 Respostas

Adaylon

Vc ta verificando o retorno do método ou o resultset? Coloca um System.out.println(rs.getInt(“idorcamento”)); dentro do while q pode facilitar. Aparentemente não encontrei nenhum problema.

Marky.Vasconcelos

Provavelmente no seu banco que esta errado.
Coloque essa consulta no prompt e verifique o resultado.

S

usando o system.out deu certo

agora na jtable continua duplicando um campo do b.d.

veja o codigo no frame

List<Orcamento> listorc = fachada.ConsultacomPlaca(orcamento);
for(Orcamento listaorcamento : listorc){
    
modelo.addRow(new Object[]{listaorcamento.getID(),listaorcamento.getVeiculo().getPlaca(),listaorcamento.getData(),listaorcamento.getObservacao()});

}
jTable1.setModel(modelo);
       // tfplacaveiculo.setText(listaorcamento.getVeiculo().getPlaca());

    
}catch(Exception e){
e.printStackTrace();

JOptionPane.showMessa
Criado 22 de junho de 2010
Ultima resposta 23 de jun. de 2010
Respostas 3
Participantes 3