![](/img/trans.png)
[英]PostgreSQL & JDBC "Multiple ResultSets were returned by the query"
[英]What is a solution of “Multiple ResultSets were returned by the query”
我收到错误:
ERROR [NewsDAO] findAll(): org.postgresql.util.PSQLException: Multiple ResultSets were returned by the query.
我使用postgresql-8.4-703.jdbc4.jar。
我的代码看起来像:
private static StringBuilder findAllQuery = new StringBuilder();
{
findAllQuery.append("SELECT * FROM news;");
}
public List<News> findAll() {
Statement stm = null;
ResultSet rs = null;
List<News> results = new ArrayList<News>();
if (obtainConnection()) {
try {
stm = con.createStatement();
rs = stm.executeQuery(findAllQuery.toString());
while(rs.next())
results.add(setInObject(rs));
} catch (Exception e) {
logger.error("findAll(): " + e);
} finally {
logger.info("Zamknalem");
closeConnection();
}
}
return results;
}
public News setInObject(ResultSet rs) throws SQLException {
News news = new News();
news.setId(rs.getInt("id"));
news.setTitle(rs.getString("title"));
news.setDescription(rs.getString("description"));
//TODO: timestamp
news.setDate(rs.getDate("date"));
User user = new User();
user.setId(rs.getInt("user_id"));
news.setUser(user);
news.setActive(rs.getBoolean("active"));
return news;
}
我不知道为什么会出现这个错误。 有任何想法吗?
您必须在findAllQuery.toString()
有多个select语句 。
编辑
正如JB Nizet指出的那样,你应该尝试从语句中删除分号。 Postgresql JDBC驱动程序在分号上拆分语句,因此可能会发出两个语句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.