我收到以下错误: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文件中时,它不显示数据。
您的表转储将字段显示为“ Usarios”,但您正在执行rs.getString("usuario")。那不是以下内容吗?
rs.getString("usuario")
rs.getString("usuarios")
如果那不起作用,那么我建议您调试您的代码,在该getString行上放置一个断点,然后查看ResultSet以查看其中的字段名称。
getString
ResultSet