Pesquisa no Banco utilizando um jTextField

3 respostas
R

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
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;
    }
CLASSE TELA
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);

        }

Vlew

3 Respostas

fredsilva.sistemas

Tá dando algum erro? Se tiver posta ele…

HenriqueBR

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.

R

Valew HenriqueBR .

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

vlw… vivendo e aprendendo…

Deus abençoe…

Criado 19 de maio de 2010
Ultima resposta 17 de jun. de 2010
Respostas 3
Participantes 3