Bom, estou com um problema em meu codigo. Crei uma classe teste que envia usuario e senha para classe Validador, esta abre o banco de dados e verifica se o usuário e a senha enviadas pela classe teste são as mesmas do que do banco de dados. Mas por algum motivo não esta conseguindo fazer a comparação
A senha contida no banco de dados são do tipo Varchar e é a mesma informada na classe Teste
os codigos
Validador.java
import java.sql.*;
import java.sql.SQLException;
public class Validador {
private String nome,pass;
public boolean validar(String usuario, String pwd){
BD bd=new BD();
Boolean resultado=true;
System.out.println("Usuario: "+usuario+" Senha:"+pwd);
if(bd.getConnection()){
try {
String sql="select username,senha from clientes where username = ?";
PreparedStatement statement=bd.connection.prepareStatement(sql);
statement.setString(1,usuario);
ResultSet resultSet=statement.executeQuery();
if(resultSet.next()){
nome=resultSet.getString("username");
pass=resultSet.getString("senha");
System.out.println("usuario do banco: "+nome+" senha do banco:"+pass);
if(pass==pwd){
resultado=true;
System.out.println("logou");
}
else {
System.out.println("Usuario ou senha invalida");
resultado=false;
}
}
else {
System.out.println("Usuario inexistente");
resultado=false;
}
bd.close();
resultSet.close();
}
catch(SQLException erro){
erro.printStackTrace();
System.out.println("Erro: "+erro);
resultado=true;
}
}
else {
System.out.println("Não conectou");
resultado=false;
}
return resultado;
}
}
Teste.java
public class Teste {
public static void main (String[] args) {
String nome="luiz";
String senha="luiz132";
Validador validador=new Validador();
validador.validar(nome,senha);
}
}
edit: Tinha colocado a mesma classe nos dois codes :lol:
