Comparação com nulo

2 respostas
Zeed01

Bom dia colegas !!!

Tenho uma classe DAO que faz a persistência no BD, no entanto antes de deve ser feita uma verificação se o registro já existe.

Então na minha classe de controle tenho o método abaixo:

public void insereUsuario(Usuario user){
        Usuario userTemp = UsuarioDAO.buscarUsuario(user.getUsusLogin
                                      ());
        if (userTemp == nul)) 
            UsuarioDAO.insereUsuario(user); 
        else
            JOptionPane.showMessageDialog(null, "Usuário já  
              cadastrado "  , "Inclusão de usuário", 
              JOptionPane.INFORMATION_MESSAGE);
    }

O método UsuarioDAO.buscarUsuario(user.getUsusLogin())
deveria fazer uma busca no banco pelo campo login e retornar um objeto Usuario caso encontrasse, ele esta implentado assim:

public static Usuario buscarUsuario(String userLogin) {
        Usuario userTemp = new Usuario();
        try {            
            conecta();
            st = conn.createStatement();
            rs = st.executeQuery("Select * from Usuario where us_usLogin = '" + userLogin +"'");
            while (rs.next()) {
                userTemp.setUsusId(rs.getInt("us_usID"));
                userTemp.setUsusNome(rs.getString("us_usNome"));
                userTemp.setUsusLogin(rs.getString("us_usLogin"));
                userTemp.setUsusPassoword(rs.getString("us_usPassoword"));
                userTemp.setUspePerfil(rs.getString("us_pePerfil"));                        
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        return userTemp;
    }

No entando a comparação if (userTemp == nul)) não está funcionando, de qualquer forma, já existindo o usuário ou não, essa comparação da True.

Alguém pode me ajudar ?

Obrigado.

[]s.

2 Respostas

fabim

Não está funcionando pq vc esta instancinaod um novo usuario sempre, mesmo que nao haja registro…

troque a linha:

Usuario userTemp = new Usuario();

por:

Usuario userTemp = null;

Se entrar no loop while do rs.next(), vc instancia e seta atributos

userTemp = new Usuario();

userTemp.setUsusId(rs.getInt(us_usID));

userTemp.setUsusNome(rs.getString(us_usNome));

userTemp.setUsusLogin(rs.getString(us_usLogin));

userTemp.setUsusPassoword(rs.getString(us_usPassoword));

userTemp.setUspePerfil(rs.getString(us_pePerfil));
Zeed01

fabiocsi:

Valeu !!!

Criado 5 de junho de 2007
Ultima resposta 5 de jun. de 2007
Respostas 2
Participantes 2