Estou com problemas para fazer uma tela de login e senha já criei a tabela, mas não estou obtendo sucesso segue meu código abaixo não da erro mas também não executa.
public void verificaDados(){
if(jtxtlogin.getText().equals("") || jPasSenha.getText().equals("")){
JOptionPane.showMessageDialog(null, "Campos não preenchidos.");
}else{
try{
String sql = "SELECT * FROM login WHERE usuario like'"+
jtxtlogin.getText()+"'and senha like'"+jPasSenha.getPassword()+"'";
PreparedStatement ps = (PreparedStatement) con.getConexao().prepareStatement(sql);
ps.execute();
ResultSet rs = ps.executeQuery();
if(rs.first()){
Cadfunc cad = new Cadfunc();
cad.setCodigo(Integer.valueOf(rs.getInt("idlogin")));
cad.setNome(rs.getString("nome"));
cad.setUsuario(rs.getString("usuario"));
cad.setSenha(rs.getString("senha"));
ps.close();
rs.close();
JOptionPane.showMessageDialog(null, "Bem vindo."+jtxtlogin.getText());
Login l = new Login();
l.dispose();
Cadastro c = new Cadastro();
c.show();
}
}catch(Exception e){
JOptionPane.showMessageDialog(null, "Campos não preenchidos."+e.getMessage());
}
}
faltou colocar % no like e espaço antes e depois dos apóstofos;
agora, mais importante é que não se compara usuário e senha com like. ou o usuário está cadastrado ou não. ou senha é exatamento o que foi digitado ou não;
tente:
String sql = "SELECT * FROM login WHERE usuario = '"+
jtxtlogin.getText()+"' and senha = '"+jPasSenha.getPassword()+"'";
[quote=rijava]Passe parâmetros ao invés de passar o próprio valor da variável, você evitará um grande problema desta maneira. Pesquise por: SQL INJECTION.
select * from tabela where usuario =? and senha=?
ps.setString(1, usuario)
ps.setParameter(2, senha);
abraço![/quote]
Muito obrigado pela atenção, espero um dia poder ajuda-lo também.
faltou colocar % no like e espaço antes e depois dos apóstofos;
agora, mais importante é que não se compara usuário e senha com like. ou o usuário está cadastrado ou não. ou senha é exatamento o que foi digitado ou não;
tente:
String sql = "SELECT * FROM login WHERE usuario = '"+
jtxtlogin.getText()+"' and senha = '"+jPasSenha.getPassword()+"'";[/quote]
Muito obrigado.
Desculpe por duplicar o post…valew