java - org.postgresql.util.PSQLException : The column name usuario was not found in this ResultSet

标签 java postgresql

我收到以下错误:org.postgresql.util.PSQLException:在此结果集中未找到列名 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<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 文件中时,它不会显示数据。

最佳答案

您的表转储显示该字段为“Usarios”,但您正在执行 rs.getString("usuario")。不应该是下面这个吗?

rs.getString("usuarios")

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

关于java - org.postgresql.util.PSQLException : The column name usuario was not found in this ResultSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8793399/

相关文章:

java - 推送网络服务 : Invalid UTF-8 start byte

使用括号中的类型且不带分号的 Java 变量初始化

database - 将点击存储为大数据

mysql - SQL - 按语句排序

Java : Convert string to Date

java - 在 iOS/Android 和 Firebase 中处理 Date 的最佳方法是什么?

node.js - 在 Postgres 和 Node 之间加密/解密

java - 如何使用具有多个连接的 SQL 查询并使用 hibernate 计数

postgresql - 如何在 Postgres Docker 容器中创建数据库?

java - 数组内的除数