Método GET não retorna o valor do atributo

10 respostas
brunohenrique

abaixo parte da classe:

criando a classe e iniciando a variável

public class buscaClienteMdb extends javax.swing.JFrame {
    
    private int cod;
    (...)

atribuindo valor pra variável

private void jBtnOkActionPerformed(java.awt.event.ActionEvent evt) {                                       
        cod = Integer.parseInt(jTblDados.getValueAt(jTblDados.getSelectedRow(),0).toString());
        dispose();
        
        ordemServico frmOS = new ordemServico();
        frmOS.retornoConsulta();
    }

encapsulando o cod e permitindo o acesso

public int getCod() {
        return cod;
    }

chamando a classe a partir de outro objeto

public void retornoConsulta(){
        int cd = frmBusca.getCod();
        JConexaoMdb mdb = new JConexaoMdb("odbc","sun.jdbc.odbc.JdbcOdbcDriver","form","","","","");
        mdb.conect();        
        try{
            ResultSet rs = mdb.getStatment().executeQuery("select * from CLIENTES " +
                    "where ID_CLIE = " +
                    cd +
                    " order by ID_CLIE;");
            
            rs.first();
            
            jTxtEndereco.setText(rs.getString("ENDE_CLIE"));
            jTxtBairro.setText(rs.getString("BAIR_CLIE"));
            jTxtCidade.setText(rs.getString("MUNI_CLIE"));
            jCboEstado.setSelectedItem(rs.getObject("UF_CLIE"));
            jFTxtCEP.setText(rs.getString("CEP_CLIE"));
            jFtxtCnpj.setText(rs.getString("CGC_CLIE"));
            
        }catch (SQLException ex){
            JOptionPane.showMessageDialog(null, ex.getMessage());
        }
    }

na hora que passo o codigo através do GET o valor vem zerado
não consegui descobrir!
se alguém tiver alguma idéia do estou fazendo de errado me clarei ai!
valeu por enquanto

10 Respostas

ckitano

Ola bruno,
uma boa pratica, seria setar a variavel por um setter…
ou seja ter uma função do tipo:

private void setCod(int code) {

cod = code;

}

utilize essa função ao invez de utilizar cod = …
ok?
Abraço

Zakim

para que o cod receba um valor o metodo jBtnOkActionPerformed deve ter recebido um evento antes…

private void jBtnOkActionPerformed(java.awt.event.ActionEvent evt) {
guilherme.chapiewski

Quantos testes unitários você fez para este código? :slight_smile:

Aproveite este tipo de problema para treinar e começar a testar seus programas.

brunohenrique

muitos testes foram feitos, sem teste esta mensagem nem estaria aqui cara! tanto é que consegui uma solução pra isso com testes, mas o que quero é por o GET pra funcionar

Zakim, mas o metodo que voce menciono recebe o evento de clique no BtnOK! não entendi muito bem sua colocação!

Marck

Bom dia cara.

Tenta colocar o dispose() por último.

ordemServico frmOS = new ordemServico(); 
frmOS.retornoConsulta(); 
dispose();

Abraço.

brunohenrique


Tenta colocar o dispose() por último.

entao mark coloquei o dispose por ultimo mas o cod continua zerando
quando chamo a funcao do outro frame!

eu dei uma solução, mas acho que não é viável
criei um contrutor para classe retornoConsulta(int cod),
dai passo o parametro na hora da construção do objeto, funciono legal
só que queria ver o GET em ação!

eu debuguei e o cod tá recebendo valor, mas na hora que chamo a classe
do outro frame o cod zero e dai o gerCod também zera!

guilherme.chapiewski

Poderia colocar o código do teste aqui para facilitar o entendimento então?

[ ]s, gc

brunohenrique

guilherme.chapiewski

Quantos testes unitários você fez para este código?

me desculpe guilherme pelo mau entendido da minha parte,
quando fez menção de testes, não compreendi que se tratava de testar um método ou uma seqüencia de métodos de uma classe, sem a interferência de outras classes do sistema,

guilherme.chapiewski

Aproveite este tipo de problema para treinar e começar a testar seus programas.

ótima sugestão,
se possível me dar a dica de como começar a testar minhas classes
pelo que andei vendo, (após me tocar do que realmente vc estava falando)
existe uma ferramenta chamada JUNIT,
é por ai?

guilherme mais uma vez desculpe o mal entendido,
valeu a força!

guilherme.chapiewski

Oi Bruno,

É isso aí, o JUnit é a ferramenta mais comum utilizada para testes unitários em Java.

Sugiro que você dê uma olhada num post do meu blog sobre Desenvolvimento Guiado por Testes (Test-Driven Development) que tem umas referências para alguns materiais sobre testes e coisas do tipo.

Abraços,
Guilherme

brunohenrique

valeu guilherme, vou pesquisar!

Criado 5 de setembro de 2007
Ultima resposta 12 de set. de 2007
Respostas 10
Participantes 5