Pesquisa no Banco utilizando um jTextField

Olá pessoal!

Sou novo em JAVA e estou com dificuldade, sera que podem me ajudar;

E o seguinte: Criei uma tela com um jTextField e um botao que ira buscar o cpf do usuario, caso encontre, ele direcionara para uma tela de movimentação, caso não, para a tela de cadastro de pessoa.

Porem, nao estou conseguindo fazer esse codigo.

Estou anexando as classes.

A tela que falei esta na classe TelaProjeto.

Aguardo ajuda…

CLASSE PessoaDAO

[code] public boolean autentica(Pessoa pessoa){
boolean valida = true;

    try{
      // Pessoa pessoa = new Pessoa();
       
       
         String sql = "select * from pessoa where cpf = ?";

    PreparedStatement pst = connection.prepareStatement(sql);

    //SETA OS VALORES
    pst.setString(1, pessoa.getCpf());
    ResultSet rs = pst.executeQuery();
    //EXECUTA
    pst.executeUpdate();
    pst.close();

        
        while(rs.next()){
           pessoa.setRetorna(rs.getString("cpf")); 
          
        
        } 
        if(pessoa.getRetorna()== null){
            valida = false;
             }
         }catch(SQLException e){
            JOptionPane.showMessageDialog(null,"Ocorreu um erro no sistema, se o problema persistir contate o administrador:\n"+ e,"ATENÇÃO",JOptionPane.WARNING_MESSAGE);
       }
    return valida;
}[/code]

CLASSE TELA

[code]Pessoa autentica = new Pessoa();
autentica.setCpf(jTFPesquisa.getText());

Pessoa pessoa = montaPessoa();

if(pessoaDAO.autentica(pessoa) == false){
JOptionPane.showMessageDialog(null,“Pessoa não cadastrada, favor Cadastrar”,“ATENÇÃO”,JOptionPane.WARNING_MESSAGE);

//Se não encontrar o registro abre a tela para Cadastro de Pessoa
TelaPessoa telaMovimentacao = new TelaPessoa(this,true);
telaMovimentacao.setLocationRelativeTo(null);
telaMovimentacao.setVisible(true);
}

else{

//Se encontrar o registro abre outra Tela de Movimentação
JOptionPane.showMessageDialog(null,“Ok, Irá para a tela de movimentação”,“ATENÇÃO”,JOptionPane.WARNING_MESSAGE);

    }[/code]

Vlew

Tá dando algum erro? Se tiver posta ele…

Cara,
Seu codigo ta muito confuso.

Não seria mais facil vc fazer:

buscarPessoa(String CFP)
{
   try{  
        String sql = "select * from pessoa where cpf = ?";  
   
        PreparedStatement pst = connection.prepareStatement(sql);  
   
        //SETA OS VALORES  
        pst.setString(1, pessoa.getCpf());  
        ResultSet rs = pst.executeQuery();  
        //EXECUTA  
        if(rs.next())
        {  
	   return false;
        }
        pst.executeUpdate();  
        pst.close();
        return true; 
   }
   catch(Exception e)
   {}

}


Pessoa P = new Pessoa();
if (P.buscarPessoa(CFP) == false)
{
   //Pessoa nao existe
}
else
{
   //tela de movimentacao
}

Outra coisa, vc esta fechando o seu Statement antes de percorrer o resultset, o resultset precisa do statement e da conexao com o banco de dados abertas.

Valew HenriqueBR .

Fiz do jeito que vc colocou ai, e deu certo…

vlw… vivendo e aprendendo…

Deus abençoe…