Bom dia, galera!
Estou desenvolvendo um pequeno sistema educacional, onde no form de cadástro de funcionários tem um jComboBox chamado CARÁTER comandado por um jTextFiels com o mesmo nome e recebendo dados do PostGres SQL.
Funcionava tranquilamente até eu querer “me mostrar” para quando eu clicar nele, o campo de texto receber o código dele de imediato, como fiz nos outros forms. Os outros combos funcionam normalmente, recebendo todos os dados da coluna, exceto este CARATER.
As configurações de códigos estão corretas, de acordo com até mesmo os outros. Não sei o que ocore. ele só está recebendo o primeiro registro de 3.
SEGUE CÓDIGOS CORRESPONDENTE A ESTE OBJETO ABAIXO:
[code]
public funcionario() {
initComponents();
con_funcionario = new conpostgres();
con_funcionario.conecta();
con_funcao = new conpostgres();
con_funcao.conecta();
con_carater = new conpostgres();
con_carater.conecta();
con_funcionario.executeSQL("select * from funcionarios order by "+ordenacao);
con_funcao.executeSQL("Select * from funcao order by nome");
con_carater.executeSQL("select * from carater order by nome");
try
{
while (con_funcao.resultset.next())
cb_funcao.addItem(con_funcao.resultset.getString("nome"));
while (con_carater.resultset.next())
cb_carater.addItem(con_carater.resultset.getString("nome"));
con_funcionario.resultset.first();
mostrar_dados();
private void cb_caraterActionPerformed(java.awt.event.ActionEvent evt) {
if (primeiraVezLog == false)
{
try
{
String sql = “select * from carater where nome like '”+cb_carater.getSelectedItem()+"’";
con_carater.executeSQL(sql);
con_carater.resultset.first();
tf_carater.setText(con_carater.resultset.getString(“codigo”));
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null,“Erro ao tentar atualizar carater”);
}
}
primeiraVezLog=false;
}
public void mostrar_dados()
{
try
{
tf_codigo.setText(con_funcionario.resultset.getString(“codigo”));
tf_nome.setText(con_funcionario.resultset.getString(“nome”));
tf_idade.setText(con_funcionario.resultset.getString(“idade”));
tf_id.setText(con_funcionario.resultset.getString(“identidade”));
tf_cpf.setText(con_funcionario.resultset.getString(“cpf”));
tf_dataadm.setText(con_funcionario.resultset.getString(“dataadm”));
tf_funcao.setText(con_funcionario.resultset.getString(“funcao”));
tf_salario.setText(con_funcionario.resultset.getString(“salario”));
tf_carater.setText(con_funcionario.resultset.getString(“carater”));
tf_telefone.setText(con_funcionario.resultset.getString(“telefone”));
tf_celular.setText(con_funcionario.resultset.getString(“celular”));
tf_email.setText(con_funcionario.resultset.getString(“email”));
tf_foto.setText(con_funcionario.resultset.getString(“foto”));
tf_obs.setText(con_funcionario.resultset.getString(“observacao”));
lb_foto.setIcon(new ImageIcon("/spca/imagem/"+tf_foto.getText()));
atualizaComboBoxFuncao();
atualizaComboBoxCarater();
}
catch(SQLException erro)
{
public void atualizaComboBoxCarater()
{
try
{
String sql = "select * from carater where codigo = "+tf_carater.getText();
con_carater.executeSQL(sql);
con_carater.resultset.first();
cb_carater.setSelectedItem(con_carater.resultset.getString(“nome”));
}
catch (SQLException erro)
{
JOptionPane.showMessageDialog(null,“Não foi possível localizar carater”+erro);
tf_carater.requestFocus();
}
}[/code]
Na tabela do PostgreSQL estão os seguintes dados:
codigo | nome
1 |Efetivo
2 |Substitito
3 |Temporario
Mas só aparece no JComboBox CARATER o registro do cód. 1.
Por favor, me ajudem…