小编典典

org.postgresql.util.PSQLException:在此ResultSet中找不到列名usuario

java

我收到以下错误:org.postgresql.util.PSQLException:在此ResultSet中找不到列名usuario。

但是,我在适当的类中正确声明了以下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文件中时,它不显示数据。


阅读 1597

收藏
2020-11-30

共1个答案

小编典典

您的表转储将字段显示为“ Usarios”,但您正在执行rs.getString("usuario")。那不是以下内容吗?

rs.getString("usuarios")

如果那不起作用,那么我建议您调试您的代码,在该getString行上放置一个断点,然后查看ResultSet以查看其中的字段名称。

2020-11-30