[RESOLVIDO] Erro ao buscar dados no banco de dados

1 resposta
A

Boa noite pessoal.
Estou desenvolvendo uma aplicação web, projeto da faculdade, eu efetuo o login com um usuário e senha cadastrados no banco de dados (PostGre)
ao clicar em editar perfil, eu gostaria de preencher os campos com os dados do usuario, para que ele visualize e então edite, porém, so consigo retornar o userid dele, que está na sessão, aí pensei, vou buscar os dados no banco e colocar na sessão também, mas ta dando erro ao buscar esses dados, dá uma exception com essa mensagem no Tomcat

org.postgresql.util.PSQLException: ERRO: erro de sintaxe em ou próximo a “=”
Posição: 35

Ja testei a SQL diretamente no banco, e ela funciona.

segue abaixo o meu método que busca os dados no banco, ou melhor, tenta buscar.
coloquei um coment onde ele lança exception. (linha 24 de acordo com a prévisualização)

Agradeceria muito se conseguissem me ajudar.

E me desculpem se postei errado, é minha primeira vez :oops:

public CadastroUsuario getCadastro(String userid) {
        StringBuffer sql = new StringBuffer("");

        sql.append("SELECT * FROM usuario");
        sql.append("WHERE userid = ?");

        Connection cn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;

        try {
            cn = PostgreDAOFactory.createConnection();
            ps = cn.prepareStatement(sql.toString());
            ps.setString(1, userid);

            rs = ps.executeQuery();

            if (rs.next()) {
                return this.populaUsuario(rs);
            } else {
                return null;
            }  
        }catch (Exception e) {
            e.printStackTrace(); // LANÇA ESSA EXCEPTION
            
        } finally {
            if (rs != null) {
                try {
                    rs.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            if (ps != null) {
                try {
                    ps.close();
                } catch (Exception e) {                    
                    e.printStackTrace();
                }
            }
            if (cn != null) {
                try {
                    cn.close();
                } catch (Exception e) {                    
                    e.printStackTrace();
                }
            }
        }

        return null;

    }

1 Resposta

A

Novamente eu aqui.

Consegui encontrar o problema descrito anteriormente, era minha SQL, nas linhas 4 e 5, eu esqueci de colocar espaço após “usuario " ou antes de " where”.

porém agora outro problema que não estou conseguindo sanar.

Tenho um servlet CarregaDadosUsuarioServlet.java nele eu instancio um CadastroUsuarioBean e ja chamo o método para buscar os dados do usuário no banco, passando o userid.

CadastroUsuarioBean cub = new CadastroUsuarioBean();
cub.getCadUsuario(lb.getUsuario().getUserid());

Aí é que está o problema, na classe que postei da ultima vez, ele está setando todos os valores, Nome, userid, email … etc… mas ao retornar aí onde chamei, tudo fica null, não consegui captar onde é que os dados se perdem.

Alguém? :shock:

Criado 9 de junho de 2011
Ultima resposta 9 de jun. de 2011
Respostas 1
Participantes 1