java - 简单查询 : not implemented by SQLite JDBC driver

标签 java sql sqlite jdbc

第一次尝试使用 SQLite+Java,当我尝试执行一个简单的简单查询时收到错误。

错误: 未由 SQLite JDBC 驱动程序实现

查询:

String sql = 
    "select Asset, Qty*Price+Fees as Cost \n" +
    "from   Transactions t \n" +
    "       inner join TransactionItems i on t.Id = i.TransactionId \n" +
    "where  TransDate <= ? \n";

try (PreparedStatement stmt = cnn.prepareStatement(sql)) {
    java.sql.Date dte = new java.sql.Date(SumDate().getTimeInMillis());
    stmt.setDate(1, dte);

    try(ResultSet rs = stmt.executeQuery(sql)) {
        while(rs.next()) {
            PortfolioSummaryItem item = new PortfolioSummaryItem(PortfolioSummary.this);
            item.Load(rs);
            items.put(item.asset,item);
        }
        rs.close();
    }

    stmt.close();

最佳答案

这是一个简单的剪切/粘贴样式错误。使用准备好的语句时,不应将 SQL 传递到 executeQuery

改变:

try(ResultSet rs = stmt.executeQuery(sql)){

收件人:

try(ResultSet rs = stmt.executeQuery()){

这覆盖了 preparedStatement

它提示的是执行带有“?”的查询因为它不是准备好的查询。

关于java - 简单查询 : not implemented by SQLite JDBC driver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20723711/

相关文章:

java - 如何使超接口(interface)方法失效

java - 如何从 imageView 获取图像并将其存储到 firebase 存储

mysql - SQL 操作数应包含 1 列

sql - 在 Postgres 中将日期转换为一年中的某一天

iphone - SQLite-时间戳

java - 你能帮我理解这段Java代码吗?

java - Jena 删除 OntClass

sql - 是否有一个Oracle SQL查询将多行汇总为一行?

android - 查询sqlite数据库并将所选数据存储到二维数组中

sqlite - 在 Sqflite 中插入多条记录