Senhores,
estou com o seguinte problema.
Tenho um cadastro de cidades, e neste cadastro os Atributos ID(Long), CodigoIBGE(int), Estado(um objeto do tipo estado) e Descrição(String).Quero comparar os dados inseridos com os dados em um banco de dados.Comparar a Descrição ta tranquilo.O problema se resume em comparar o CodigoIBGE que pego no banco de dados com o que o usuario digitou.Ja tentei de duas formas.Uma comparando com o TextFild.getText e outra forma comparando com o objeto que criei.Segue abaixo as duas maneiras que fiz.O codigo esta no inicio, por isso esta incompleto.
[size=18]Comparando com o Objeto criado[/size]
try{
if (TxtDescricao.getText().equals("")) {
JOptionPane.showMessageDialog(this, "Nome da Cidade não informada.Favor completa-lo" );
}
else{
TxtDescricao.requestFocusInWindow();
TxtCodigo.setText(null);
TxtCodigo.setEnabled(false);
SessionFactory sfac = new Configuration().configure().buildSessionFactory();
Session se = sfac.openSession();
Transaction tx = se.beginTransaction();
Query sql = se.createQuery("from Cidade where Descricao = (?)").setString(0,TxtDescricao.getText().toUpperCase());
Cidade teste = (Cidade) sql.uniqueResult();
try{
Cidade Novo = new Cidade();
Novo.setDescricao(TxtDescricao.getText().toUpperCase());
Novo.setCodigoIBGE(Integer.parseInt(TxtCodigoIBGE.getText()));
Novo.setEstado((Estado)EscolhaEstado.getSelectedItem());
try{
if((Novo.getDescricao().equals(teste.getDescricao()))
|| (Novo.getCodigoIBGE().equals(teste.getCodigoIBGE()))){ // --------> aqui ocorre o erro....não sei como fazer essa comparação
JOptionPane.showMessageDialog
(this,"Nome da Cidade ou Código IBGE já existente.");
}
}
catch(Exception erro){
}
}
catch(Exception erro){
JOptionPane.showMessageDialog(this,"Dados inseridos incorretamentes.Insira-os corretamente!");
TxtCodigoIBGE.setText(null);
TxtCodigoIBGE.setText(null);
}
}
}
catch(Exception erro){
}
}
[size=18]Comparando com o jTextFild[/size]
try{
if (TxtDescricao.getText().equals("")) {
JOptionPane.showMessageDialog(this, "Nome da Cidade não informada.Favor completa-lo" );
}
else{
TxtDescricao.requestFocusInWindow();
TxtCodigo.setText(null);
TxtCodigo.setEnabled(false);
SessionFactory sfac = new Configuration().configure().buildSessionFactory();
Session se = sfac.openSession();
Transaction tx = se.beginTransaction();
Query sql = se.createQuery("from Cidade where Descricao = (?)").setString(0,TxtDescricao.getText().toUpperCase());
Cidade teste = (Cidade) sql.uniqueResult();
try{
Cidade Novo = new Cidade();
Novo.setDescricao(TxtDescricao.getText().toUpperCase());
Novo.setCodigoIBGE(Integer.parseInt(TxtCodigoIBGE.getText()));
Novo.setEstado((Estado)EscolhaEstado.getSelectedItem());
try{
if((Novo.getDescricao().equals(teste.getDescricao()))
|| (TxtCodigoIBGE.getText().equals(teste.getCodigoIBGE()))){ // --------> aqui ocorre o erro....não sei como fazer essa comparação
JOptionPane.showMessageDialog
(this,"Nome da Cidade ou Código IBGE já existente.");
}
}
catch(Exception erro){
}
}
catch(Exception erro){
JOptionPane.showMessageDialog(this,"Dados inseridos incorretamentes.Insira-os corretamente!");
TxtCodigoIBGE.setText(null);
TxtDescricao.setText(null);
}
}
}
catch(Exception erro){
}
espero que alguem possa me ajudar…
obrigado