Pessoal;
Estou com o seguinte problema na implementação de uma tela de Login
Segue o código abaixo:
public Usuario login(String login, String senha) {
//verfica se o login existe e se a senha confere
//se sim retorna true
//se nao retorna false
Connection c = null;
PreparedStatement ps = null;
String sql = null;
ResultSet rs = null;
Usuario usu = null;
try {
//sql = " select u.id, u.login, u.senha, 'adm' as tipo from usuario u, administrador a where u.id = a.id and u.login= ? and u.senha= ? "
// + " union "
// + " select u.id, u.login, u.senha, 'ger' as tipo from usuario u, gerente g where u.id = g.id and u.login= ? and u.senha= ? ";
sql = " select u.id, u.login, u.senha, 'ger' as tipo from usuario u, gerente g where u.id = g.id and u.login= ? and u.senha= ? ";
c = Conexao.getConexao();
ps = c.prepareStatement(sql);
ps.setString(1,"ger");
ps.setString(2,"ger");
// ps.setString(3,"cosme");
// ps.setString(4,"123456");
/*
ps.setString(1,login);
ps.setString(2,senha);
ps.setString(3,login);
ps.setString(4,senha);
*/
rs = ps.executeQuery(sql);
if (rs.next()) {
if (rs.getString(3).equals("adm")) usu = new Administrador();
if (rs.getString(3).equals("ger")) usu = new Gerente();
} else {
// levantar exceção
//throw new Exception();
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
return usu;
}
Acontece um erro de RESULTSET ESTÁ FECHADO
Alguém tem alguma solução para o meu problema.
Obrigado desde já pela ajuda
Vlw
Bruno