我收到以下错误: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;
}
奇怪的是当我单独测试我的List时,数据表显示相应的结果。但是,当我运行我的整个应用程序时,没有任何显示,我得到该错误,指出在结果集中找不到列usuario。有什么建议吗?
该表有两个字段:
Usuarios | Grupos
admin 2
admin 3
当我分离我的jsf代码时,它显示正常,但是当我在一个JSF文件上显示数据时,它不会显示数据。
答案 0 :(得分:4)
您的表转储将字段显示为&#34; Usarios&#34;但你正在做rs.getString("usuario")
。不应该是以下几个吗?
rs.getString("usuarios")
如果这不起作用,那么我建议调试你的代码,在getString
行放一个断点,然后查看ResultSet
以查看字段名称是什么。