以下 Java 代码返回一个空结果集,但 SQL 显示表中有数据:
@Override
public List<Category> list() {
List<Category> list = new ArrayList<>();
if (!connection.isPresent()) {
return list;
}
Connection con = connection.get();
try {
Statement stmnt = con.createStatement();
ResultSet rs = stmnt.executeQuery(LIST_SQL);
while (rs.next()) {
System.out.println("Got a record"); // DEBUG
int id = rs.getInt(1);
String description = rs.getString(2);
list.add(new Category(id, description));
}
} catch (SQLException e) {
LOG.error("Error retrieving Category list", e);
return list;
}
return list;
}
LIST_SQL
是:
SELECT id, description FROM category
如果我将此查询复制到 sqlite3
并执行它,将返回几行。 connection
与其他查询一起工作(但它们是准备好的语句而不是 executeQuery
)。没有错误。永远不会打印“有记录”。
对可能出现的问题有什么想法吗?
最佳答案
对不起各位。我的 list()
方法从未执行过!为什么是另一个问题。感谢您的所有回复。
关于java - SQLite:executeQuery() 返回空结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34725945/