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 !!!
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.
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!!!");
}
}
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!!!");
}
}