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{Stringsql="SELECT * FROM login WHERE usuario like'"+jtxtlogin.getText()+"'and senha like'"+jPasSenha.getPassword()+"'";PreparedStatementps=(PreparedStatement)con.getConexao().prepareStatement(sql);ps.execute();ResultSetrs=ps.executeQuery();if(rs.first()){Cadfunccad=newCadfunc();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());Loginl=newLogin();l.dispose();Cadastroc=newCadastro();c.show();}}catch(Exceptione){JOptionPane.showMessageDialog(null,"Campos não preenchidos."+e.getMessage());}}
publicvoidverificaDados(){if(jtxtlogin.getText().equals("")||jPasSenha.getText().equals("")){JOptionPane.showMessageDialog(null,"Campos não preenchidos.");}else{try{Stringsql="SELECT * FROM login WHERE usuario like'"+jtxtlogin.getText()+"'and senha like'"+jPasSenha.getPassword()+"'";PreparedStatementps=(PreparedStatement)con.getConexao().prepareStatement(sql);ps.execute();ResultSetrs=ps.executeQuery();if(rs.first()){Cadfunccad=newCadfunc();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());Loginl=newLogin();l.dispose();Cadastroc=newCadastro();c.show();}}catch(Exceptione){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()+"'";
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()+"'";
Muito obrigado.
Desculpe por duplicar o post…valew