Chave estrangeira em java

0 respostas
lincolngadea

Bom dia a todos,

Estou com uma dúvida e gostaria que me ajudassem,

tenho uma chave estrangeira na minha tabela de membro, ela gera um codigo com o nome “DISC_CODIGO” (chave estrangeira;

preciso que no meu form de membro apareça esse código e ao lado um Jcombobox com a lista das referencias do código;

Já consegui listar no JCB os nomes atravez desse código:

public class Cad_membros extends javax.swing.JFrame {

int navega = 0;

BancoConect con_membros;

BancoConect con_discipulador;

String ordenacao = “MEM_NOME”;

boolean primeiraVezDiscipulador = true;

/** Creates new form Cad_membros */

public Cad_membros() {

initComponents();

con_membros = new BancoConect();

con_membros.conecta();

con_membros.executeSQL("select * from membros order by " +ordenacao);

con_discipulador = new BancoConect();

con_discipulador.conecta();

con_discipulador.executeSQL(“select * from discipulador order by DISC_NOME”);
try {
         while(con_discipulador.resultSet.next())
             jcb_memb_discip.addItem(con_discipulador.resultSet.getString("DISC_NOME"));
        atualisa_cbbox();
        con_membros.resultSet.first();
        con_discipulador.resultSet.first();
        
        mostrar_dados();
    } catch (SQLException erro) {
        JOptionPane.showMessageDialog(null, "ATENÇÃO! O SEU BANCO DE DADOS ESTÁ VAZIO");
    }
}

o s metodos usados são esses :

public void atualisa_cbbox()

{

try

{

while(con_discipulador.resultSet.next())

jcb_memb_discip.addItem(con_discipulador.resultSet.getString(“DISC_NOME”));

}

catch(SQLException erro)

{

JOptionPane.showMessageDialog(null, erro);

}

}

public void mostrar_dados() {

try {

tf_cod.setText(con_membros.resultSet.getString(“MEM_CODIGO”));

tf_membro.setText(con_membros.resultSet.getString(“MEM_NOME”));

tf_rg.setText(con_membros.resultSet.getString(“MEM_RG”));

tf_cpf.setText(con_membros.resultSet.getString(“MEM_CPF”));

cbx_estadoCivil.setSelectedItem(con_membros.resultSet.getString(“MEM_ESTCIVIL”));

cbx_prof.setSelectedItem(con_membros.resultSet.getString(“PROF_CODIGO”));

cbx_cidade.setSelectedItem(con_membros.resultSet.getString(“CID_CODIGO”));

tf_cep.setText(con_membros.resultSet.getString(“MEM_CEP”));

cbx_Bairro.setSelectedItem(con_membros.resultSet.getString(“MEM_BAIRRO”));

tf_rua.setText(con_membros.resultSet.getString(“MEM_RUA”));

tf_numero.setText(con_membros.resultSet.getString(“MEM_NUMERO”));

tf_complemento.setText(con_membros.resultSet.getString(“MEM_COMPLEMENTO”));

tf_telfixo.setText(con_membros.resultSet.getString(“MEM_TELRES”));

tf_telcel.setText(con_membros.resultSet.getString(“MEM_TELCELULAR”));

tf_recados.setText(con_membros.resultSet.getString(“MEM_TELRECADO”));

tf_email.setText(con_membros.resultSet.getString(“MEM_EMAIL”));

tf_msn.setText(con_membros.resultSet.getString(“MEM_MSN”));

tf_orkut.setText(con_membros.resultSet.getString(“MEM_ORKUT”));

tf_dataCad.setText(con_membros.resultSet.getString(“MEM_DATACAD”));

tf_dataNasc.setText(con_membros.resultSet.getString(“MEM_DATANASC”));

tf_dataBat.setText(con_membros.resultSet.getString(“MEM_DATABAT”));

// tf_disc_codigo.setText(con_membros.resultSet.getString(“DISC_CODIGO”)); (QUANDO COLOCO ESSA LINHA NO CÓDIGO, APARECE UM CÓDIGO ESTÁTICO NO TEXTFIELD E NÃO MUDA
} catch (SQLException erro) {
        if (navega == 1) {
            JOptionPane.showMessageDialog(null, "Primeiro registro!");
        } else if (navega == 2) {
            JOptionPane.showMessageDialog(null, "Último registro");
        } else {
            JOptionPane.showMessageDialog(null, "ATENÇÃO! Não foi encontrado nenhum dado em seu Banco");
        }
    }
}

Preciso que toda vez que eu selecionar um item no JCB altomaticamente apareça o código do lado e quando eu digitar o código apareça em seguida o item…

DENTRO DO JCB EU SETEI ESSE CÓDIGO:

if(primeiraVezDiscipulador == false)

{

try

{

String sql = “select * from discipulador Where DISC_NOME like '” +jcb_memb_discip.getSelectedItem()+"’";

con_discipulador.executeSQL(sql);

con_discipulador.resultSet.first();

//int regcodigo = con_discipulador.resultSet.getInt(“DISC_CODIGO”);

while(con_discipulador.resultSet.next())

tf_disc_codigo.setText(con_discipulador.resultSet.getString(“DISC_CODIGO”));

}

catch(SQLException erro)

{

JOptionPane.showMessageDialog(null,“Erro ao inserir código no campo” +erro);

}

}
Criado 15 de fevereiro de 2010
Respostas 0
Participantes 1