Como comparar o conteudo de um jtextfield com dado do banco

3 respostas
E
Pessoal seguinte estou com outro problema, meu programa tera uma tela de login no qual o usuario terá que entra com conta corrente, agencia, e senha. Bom eu queria saber como que eu faço pra comparar os dados que o usuario entrou no jtextfield com os dados que estão no banco de dados?? Abaixou segue meu codigo

public void login (String cc, String ag, String senha) throws SQLException{

open_database();

 try{


    stmt = conn.createStatement();
   String sql_script ="SELECT cc_cliente,agencia,senha FROM clientes WHERE cc_cliente= '"+cc+"' and agencia='"+cc+"' and senha='"+senha+"'";
    rs = stmt.executeQuery(sql_script);
   
    
  if (rs.getString("cc_cliente").equals(cc) && (rs.getString("agencia").equals(ag)) && (rs.getString("senha").equals(senha)) ){


       JOptionPane.showMessageDialog(null,"Cliente Cadastrado!!!");
}

else {

JOptionPane.showMessageDialog(null,“Cliente não cadastrado!!!);

}
}
 catch(SQLException ex){
     JOptionPane.showMessageDialog(null,"Erro!!!");
     
 }
}


    Com esse codigo esta sempre retornando erro, se alguem puder me ajudar ficarei agradecido !!!

3 Respostas

Dirceu_Roden

Você não disse qual é o erro, mas provavelmente é porque você não está posicionando o cursor no primeiro registro. Coloque a seguinte linha antes do if():

E outra coisa, o if() neste código é totalmente inutil, pois se voce colocar todos os campos no select não será necessário testá-los novamente com um if(). O código ficaria melhor se você fizesse um select count() e depois verificar com im if() quantos registros foram encontrados. Se nehum registro for encontrado então o login estará incorreto.

E
Ola Dirceu fiz como vc me disse e mesmo assim não esta dando certo, o programa esta sempre exibindo a mensagem de erro, eu gostaria de saber como que eu faço pra comprar os dados de login que o usuario esta digitando com os que estão armazenados no banco de dados, segue abaixo o codigo:

public void login (String cc, String ag, String senha) throws SQLException{

open_database();

 try{


    stmt = conn.createStatement();
    String sql_script ="SELECT cc_cliente,agencia,senha FROM clientes WHERE cc_cliente= '"+cc+"' and agencia='"+cc+"' and senha='"+senha+"'";
    rs = stmt.executeQuery(sql_script);
    rs.next();
    JOptionPane.showMessageDialog(null,"Cliente esta no banco de dados!!!");
 }
 
 catch(SQLException ex){
     JOptionPane.showMessageDialog(null,"Erro!!!");
     
 }
}
E
Dirceu acho que resolvi o problema da uma olhada no código e me diz qq vc acha, fiz uns teste aki e parece que funciona !!! :

try{

stmt = conn.createStatement();
    String sql_script ="SELECT cc_cliente,agencia_cliente,senha_cliente FROM clientes WHERE cc_cliente= '"+cc+"' AND  agencia_cliente= '"+ag+"'  AND senha_cliente='"+senha+"' ";
    rs = stmt.executeQuery(sql_script);
    

    if (rs!=null && rs.next()){
         JOptionPane.showMessageDialog(null,"Cliente consta no banco de dados!!");
    }   
    else{
        
    JOptionPane.showMessageDialog(null,"Cliente não consta no banco de dados!!");
    }
    
    
 }
 
 catch(SQLException ex){
     JOptionPane.showMessageDialog(null,"Erro!!!");
     
 }
    
}
Criado 21 de junho de 2009
Ultima resposta 21 de jun. de 2009
Respostas 3
Participantes 2