Boa Tarde Pessoal… to desenvolvendo um cadastro de alunos em JAVA utilizando 3 Camadas.
criei uma função para verificar no banco de dados se ja existe um cpf cadastrado no momento em q o jtextfield perde o foco, mas o sistema sempre retorna que nao existe o cpf digitado, mesmo ele ja estando cadastrado no banco de dados… abaixo estao os códigos das 3 camadas… gostaria da ajuda de voces para solucionar o erro deste código… desde ja agradeço…
******** Código Executado Quando o jTextField Perde o Foco *******
private void txtCPFFocusLost(java.awt.event.FocusEvent evt) {
if (txtCPF.getText().equals(""))
{
JOptionPane.showMessageDialog(null, “É Obrigatório Digitar o CPF!”);
txtCPF.requestFocus();
}
else
{
try
{
atual = controle.existeUsuario(txtCPF.getText());
txtNomeCompleto.setText(atual.getNomecompleto());
txtSenha.setText(atual.getSenha());
txtTelefone.setText(atual.getTelefone());
txtUsuario.setText(atual.getMatricula());
}
catch (Exception ex)
{
JOptionPane.showMessageDialog(this, ex.getMessage());
}
catch (Throwable ex)
{
JOptionPane.showMessageDialog(this, ex.getMessage());
}
}
*********** Código da Camada Lógica ********
public Usuario existeUsuario(String cpf) throws Exception, Throwable
{
if (Usuario.validacpf(cpf))
return Usuario.consultar(cpf);
else
throw new Exception(“Este CPF Não é Válido!”);
}
****** Código da Camada Persistente ******
//Metodo de classe usado para criar um outro objeto para receber os dados da consulta.
public static Usuario consultar(String parametros)throws Exception, Throwable
{
Usuario v = new Usuario ();
return v.consulta(“cpf”);
}
/*Metodo que faz a seleção do Aluno no BD, se não houver o aluno consultado
retorna uma mensagem de erro*/
public Usuario consulta(String cpf)throws Exception, Throwable
{
conexao = new Conexao();
/*Declara o caminho a ser usado para salvar o dados do novo veículo */
Statement declaracao = conexao.getConexao().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
String comandoSql;
Usuario retorno;
//Faz um Select no Banco de Dados Passando o CPF como Parametro.
comandoSql= "select * from usuario WHERE cpf='"+ cpf +"'";
//executa o comando e insere na tabela usuario no mysql
ResultSet resultado = declaracao.executeQuery(comandoSql);
resultado.last();
//verifica se o resultado retornado não tiver nenhum dado, envia mensagem de erro.
if (resultado.getRow()!=0)
throw new Exception ("Não Existe o Aluno Pesquisado!");
//se conter algum dados a variaves "retorno" recebe os dados.
else
{
retorno = new Usuario (resultado.getString("cpf"),
resultado.getString("nomecompleto"),
resultado.getString("telefone"),
resultado.getString("nomeusuario"),
resultado.getString("senha"),
resultado.getString("matricula"),
resultado.getInt("disciplina"),
resultado.getInt("turma"),
resultado.getInt("tipo"));
}
conexao.finalize();
// envia para o objeto consulta os dados selecionados.
return retorno;
}