2011-08-13 110 views
4

我正在使用SQLiteJDBC作为我的小型Java应用程序的嵌入式数据库的包装。每次我执行INSERT语句,我得到以下异常:SQLite异常:插入语句不会返回一个语句

查询不返回结果集

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

任何想法?!?

回答

14

当您正在进行更改并且未要求返回结果时,您需要拨打executeUpdate()而不是executeStatement()

编辑

我甚至无法找到executeStatement()参考的任何地方。你使用executeQuery()

0

Sqlite总是会返回一条消息来执行查询。

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

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