Devolver valores Inteiros e Flutuantes no seus Devidos Campos

5 respostas
L

Boa tarde, sou novo em Java, e estou desenolvendo um programa onde o usuário ao clicar no botão consultar, devolve os valores do banco de dados, para seus devidos lugares nos campos da aplicaçã
____ ______
Ex: Nome: |____| cpf: |____| (Consultar) // o botão

Nome: Luiz cpf: xxxxxxx

A aplicação possui campos como telefone, celular, cep, número, e complemento do número da casa.
Ocorre o seguinte, no campo do telefone (float), não aparece nada;
Já no campo celular(float), aparece um número que parece ser hexadecimal;
No campo 'cep' (long), aparece o número, porém corta o primeiro número 0;
O número (int), devolve apenas o último número, por exemplo, o número do usuario é 300, está devolvendo só 0;
E no complemento (String), não está devolvendo nada, não sei se é pelo fato da váriavel ser tipo String e pode acontecer de ter números;

O código que eu estou usando é o seguinte:

private void b3ActionPerformed(java.awt.event.ActionEvent evt) {                                   
     Object origem = evt.getSource();
     CorretorDAO cor = new CorretorDAO();
     
      if(CarregaDados());
      CorretorBean corvar = cor.consulta_corretor(cob);
       if(corvar != null){
       t6.setText(""+ corvar.getCresci());
       t1.setText(corvar.getNome());
       t7.setText(Integer.toString(corvar.getDtd_nascimento()));
       t14.setText(corvar.getSexo());
       t8.setText(Float.toString(corvar.getTelefone()));
       t9.setText(Float.toString(corvar.getCelular()));
       t10.setText(Long.toString(corvar.getEndereco().getCep()));
       t2.setText(corvar.getEndereco().getRua());
       t3.setText(Integer.toString(corvar.getEndereco().getNumero()));
       t4.setText(corvar.getEndereco().getComplemento());
       t5.setText(corvar.getEndereco().getBairro());
       t11.setText(corvar.getEndereco().getCidade());
       t12.setText(corvar.getEndereco().getEstado());
       t13.setText(corvar.getArea_atuacao());                
           }            
     else{
         JOptionPane.showMessageDialog(this, 
            "Corretor Inexistente!");         
         }    
    }

Se alguém puder por favor me ajudar eu agradeço :)

Obrigado

5 Respostas

ribclauport

Primeiro pegue as suas entradas as quais voce esta setando no componente e jogue no console para verificar se esta vindo do banco de dados…

System.out.println(Integer.toString(corvar.getDtd_nascimento()));

Provavelmente a sua consulta está com problema, poste o metodo:

cor.consulta_corretor(cob)

Att.

L

ribclauport A consulta está correta, até pq ela está devolvendo os valores certos, de acordo com o cresci que o usuário digita

ribclauport

Como eu disse o método está “pegando” os valores e populando o objeto, se não está aparencendo nada, existe duas conições certo?

Ou não vem do banco, ou vem do banco e você não popula corretamente o objeto, sendo assim existe várias formas de se fazer um consulta, usando jdbc, usando uma ferramenta ORM, como o hibernate, usando uma especificação como JPA com implementação do Hibernate ou Top link…, desta forma se existe uma dúvida ou um problema, existe a necessidade de estar analisando todo o fluxo, como vamos saber como está sendo feita a consulta? Como você disse:

O método está certo, se realmmente você ja debugou o objeto corvar, e realmente viu todas as variáveis de instância devidamente populadas, então seria problema na hora de setar “t6.setText”, desta forma voce teria que mostrar como esta criando os objetos pertencentes a sua “view”, mas de qualquer forma você deve detalhar os “códigos fontes”, ou seguir o script de testes, eu pedi para voce fazer o System.out.print… nas propriedades, e você resolveu não fazê-lo, desta forma fica bem complicado.

L

Certo ribclauport fiz os System.out.println que vc me aconselhou, fiz apenas nos campos que estão devolvendo o valor errado, ou não devolvem nada e o resultado foi o seguinte .

System.out.println(Float.toString(corvar.getTelefone()));
       System.out.println(Float.toString(corvar.getCelular()));
       System.out.println(Long.toString(corvar.getEndereco().getCep()));
       System.out.println(Integer.toString(corvar.getEndereco().getNumero()));
       System.out.println((corvar.getEndereco().getComplemento()));
3.53713E7
5.4414E7
4840120
0

o primeiro valor referente ao telefone no aplicativo não devolve nada, porém no System devolveu o 3.53713E7 o valor existente no banco seria 35371309

o valor so celular foi 5.4414E7 o valor real é 54414021

o terceiro valor que seria do cep, cortou o 0 que vem antes do 4

e o número devolveu apenas 0, quando deveria ter aparecido 300

Alguma sugestão? Ah, não tem como fazer por hibernate, ou JPA, pois é um sistema para Desktop

Desculpa pela insistência, ou encheção , mais já procurei várias formas de como resolver e não encontrei :/

ViniGodoy

Tópico movido para o fórum de interface gráfica.
Por favor, leia com atenção a lista de fóruns antes de postar.

Criado 29 de fevereiro de 2012
Ultima resposta 1 de mar. de 2012
Respostas 5
Participantes 3