org.postgresql.util.PSQLException: имя столбца usuario не было найдено в этом ResultSet - PullRequest
1 голос
/ 09 января 2012

Я получаю следующую ошибку: org.postgresql.util.PSQLException: имя столбца usuario не найдено в этом ResultSet.

Однако у меня следующий столбец usuario объявлен правильно в соответствующих классах!

UsuariosGruposDAO.class

public Object objectFactory(ResultSet rs) {
        try {
            UsuariosGrupos usergroup = new UsuariosGrupos(rs.getString("usuario"), rs.getString("grupo"));
            return usergroup;
        } catch (SQLException e) {
            e.printStackTrace();
            // retorno do método
            return null;
        }
    }

UsuariosGrupos.class

public class UsuariosGrupos {

    private String usuario;
    private String grupo;

    public UsuariosGrupos() {
    }

    public UsuariosGrupos(String usuario, String grupo) {
        this.usuario = usuario;
        this.grupo = grupo;
    }

Ошибка появляется в следующей строке:

       ugList.add((UsuariosGrupos) objectFactory(rs));  

моего метода List:

List<UsuariosGrupos> ugList = null;
    try {
        //Conecta no banco
        conn.conectar();
        //Prepara o preparedStatment
        stmt = (PreparedStatement) conn.getPreparedStatement("SELECT * from usuarios_grupos");
        //Executa a instrucao SQL
        ResultSet rs = stmt.executeQuery();
        ugList = new ArrayList<UsuariosGrupos>();
        //Enquanto ouver resultSet
        while (rs.next()) {
            ugList.add((UsuariosGrupos) objectFactory(rs));
        }
        System.out.println("################################UsuariosGrupos OK################################");
    } catch (SQLException e) {
        System.out.println("################################UsuariosGrupos Falhou################################");
        e.printStackTrace();
    } finally {
        conn.desconectar();
    }
    return ugList;
}

Странно то, что, когда я тестирую свой Список отдельно, таблица данных отображает соответствующие результаты. Однако, когда я запускаю все мое приложение, ничего не появляется, и я получаю эту ошибку, утверждая, что столбец usuario не может быть найден в наборе результатов. Есть предложения?

Таблица имеет два поля:

Usuarios | Grupos

admin        2
admin        3

Отображается нормально, когда я разделяю код jsf, но не отображает данные, когда они есть в одном файле JSF.

1 Ответ

4 голосов
/ 10 января 2012

Ваш дамп таблицы показывает поле как "Usarios", но вы делаете rs.getString("usuario").Разве это не должно быть следующим?

rs.getString("usuarios")

Если это не сработает, я бы порекомендовал отладку вашего кода, поместив точку останова в строку getString и посмотрев на ResultSet, чтобы увидеть, чтоимена полей там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...