Ola Pessoal.
Eu consegui carregar um jComboBox com os Nomes e Codigos de uma Tablea de Clientes, atraves de uma Classe Cliente().
O Problema e que eu salvo apenas o Codigo do cliente em uma outra Tabela de Eventos, e para setar o cliente que eu salvei, nao estou conseguindo.
O Problema deve estar no metodo SetComboCli(),
Abaixo descrevo a Classe e em seguida o codigo :
desde ja obrigado
public final class Clientes {
private String nome;
private int codigo;
public Clientes() {
}
public Clientes(String nome, int cod) {
this.setNome(nome);
this.setCodigo(cod);
}
public String getNome() {
return this.nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getCodigo() {
return codigo;
}
public void setCodigo(int cod) {
this.codigo = cod;
}
@Override
public String toString() {
return this.getNome();
}
}
// codigo para Atualiza o campo ComboBox com a Tabela de Cliente atraves da Classe Clientes()
private void atualizaComboCli() {
try {
cbxCliente.removeAllItems();
Class.forName(bd.getDriver());
con = DriverManager.getConnection(bd.getUrl(), bd.getUsuBD(), bd.getSenhaBD());
sta = con.createStatement();
String query;
query = “SELECT Nome, CodCli FROM Clientes”;
res = sta.executeQuery(query);
cbxCliente.addItem("");
if (res.next()) {
do {
// Adiciona a Classe Clientes() no ComboBox = Nome e Codigo
cbxCliente.addItem(new Clientes(res.getString(“Nome”), res.getInt(“CodCli”)));
} while (res.next());
}
con.close();
sta.close();
} catch(ClassNotFoundException erro) {
JOptionPane.showMessageDialog(null, "Problema na Conecção com o Banco de Dados ",“Atenção”, JOptionPane.INFORMATION_MESSAGE);
} catch(SQLException erro) {
JOptionPane.showMessageDialog(null, “Problema com o SQL !”,“Atenção”, JOptionPane.INFORMATION_MESSAGE);
}
}
public FrmIntEventosCad(int codigo, String mod) {
initComponents();
atualizaComboCli(); // Atualiza com Todas as Clientes
codEve = codigo;
modo = mod;
if (modo.equals("A")) {
btnAlualizar.setText("Alterar");
try {
// *** Le o Cadastro de Eventos ***
Class.forName(bd.getDriver());
con = DriverManager.getConnection(bd.getUrl(), bd.getUsuBD(), bd.getSenhaBD());
sta = con.createStatement();
String query = "";
query = "SELECT * FROM eventos WHERE CodEven = '" + codEve + "'" ;
// Executa a Pesquisa SQL
res = sta.executeQuery(query);
if (res.next()) {
lblVerCodigo.setText(res.getString("CodEven"));
txtNome.setText(res.getString("Nome"));
codCli = res.getInt("CodCli");
}
con.close();
sta.close();
} catch(ClassNotFoundException erro) {
JOptionPane.showMessageDialog(null, "Problema na Conecção com o Banco de Dados!!","Atenção", JOptionPane.INFORMATION_MESSAGE);
} catch(SQLException erro) {
JOptionPane.showMessageDialog(null, "Problema com o SQL !","Atenção", JOptionPane.INFORMATION_MESSAGE);
}
/// E neste metodo que associa o nome do cliente ao Combo
setComboCli(); // Seta o Nom
}
////// O Problema esta AQUI pois quando executo o metodo
private void setComboCli() {
try {
// *** Le o Cadastro de Agencias ***
Class.forName(bd.getDriver());
con = DriverManager.getConnection(bd.getUrl(), bd.getUsuBD(), bd.getSenhaBD());
sta = con.createStatement();
String query = “”;
query = “SELECT CodCli, Nome FROM Clientes WHERE CodCli = '” + this.codCli + “’” ;
// Executa a Pesquisa SQL
res = sta.executeQuery(query);
if (res.next()) {
///// Nao esta conseguindo atribuir o Nome do cliente
cbxCliente.setSelectedItem(res.getString(“Nome”));
}
con.close();
sta.close();
} catch(ClassNotFoundException erro) {
JOptionPane.showMessageDialog(null, “Problema na Conecção com o Banco de Dados !”,“Atenção”, JOptionPane.INFORMATION_MESSAGE);
} catch(SQLException erro) {
JOptionPane.showMessageDialog(null, “Problema com o SQL !”,“Atenção”, JOptionPane.INFORMATION_MESSAGE);
}
}