【问题标题】:SQLite Exception: Insert statement does not return a StatementSQLite 异常:插入语句不返回语句
【发布时间】:2011-08-13 17:43:44
【问题描述】:

我使用 SQLiteJDBC 作为我的小型 Java 应用程序的嵌入式数据库的包装器。每次执行 INSERT 语句时,都会出现以下异常:

查询不返回结果集

我想知道 JDBC Statement.executeStatement(String) 方法是否正在寻找我返回一个 ResultSet,但 SQLite 驱动程序知道 INSERT 语句不返回任何内容;也许 SQLiteJDBC 抛出错误,因为它不应该返回 Statement 要求的 ResultSet?!?

这是产生异常的代码 - 我已确保正确设置和关闭所有资源:

statement = con.createStatement();
String sql = "INSERT INTO widgets (widget_age) VALUES (27)";
statement.executeStatement(sql);

有什么想法吗?!?

【问题讨论】:

    标签: java sql sqlite


    【解决方案1】:

    当您进行更改而不要求返回结果时,您需要调用executeUpdate() 而不是executeStatement()

    编辑

    我什至在任何地方都找不到对executeStatement() 的引用。你用的是executeQuery()吗?

    【讨论】:

      【解决方案2】:

      Sqlite 在你执行 Query 时总是返回一个消息。

      出现警告/错误是正常的,只是没有返回任何行,所以如果你定义了一个,你就不能在回调中使用它们。

      PD:我也认为你的意思是 executeQuery

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-12-31
        • 2012-10-06
        • 2017-10-26
        • 2016-08-18
        • 1970-01-01
        • 1970-01-01
        • 2016-06-10
        相关资源
        最近更新 更多