SQLite异常:Insert语句不返回Statement

时间:2011-08-13 17:43:45

标签: java sql sqlite

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

查询不返回ResultSet

我想知道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);

有什么想法吗?!?

2 个答案:

答案 0 :(得分:14)

当您进行更改而不是要求退回结果时,您需要拨打executeUpdate()而不是executeStatement()

修改

我甚至无法在任何地方找到executeStatement()的引用。您使用的是executeQuery()吗?

答案 1 :(得分:0)

Sqlite总是返回一条消息,因为你执行一个Query。

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

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