java - SQLite:executeQuery() 返回空结果集

标签 java jdbc sqlite

以下 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/

相关文章:

mysql - 无法让 JDBC 驱动程序在 tomcat jsp 中工作

java - Java中的线程安全交换

java - 帮忙解决java问题

jdbc - 我可以在Logstash中使用mutate过滤器将某些字段转换为genjdbc输入的整数吗?

java - 如何检查 SQLite 数据库中是否存在 "name"值?

sqlite错误通过命令行导入csv

c# - 在 Windows Metro Apps C# 中合并两个 sqlite 数据库

java - ASM 中的类编写器 COMPUTE_FRAMES

java - 控制键盘输入到 javafx TextField

java - 为什么 jrunscript 不支持我的类路径?