我正在使用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);
有什么想法吗?!?
答案 0 :(得分:14)
当您进行更改而不是要求退回结果时,您需要拨打executeUpdate()
而不是executeStatement()
。
修改
我甚至无法在任何地方找到executeStatement()
的引用。您使用的是executeQuery()
吗?
答案 1 :(得分:0)
Sqlite总是返回一条消息,因为你执行一个Query。
发出警告/错误是正常的,只是没有返回的行,所以如果定义了回调,就不能在回调中使用它们。
PD:我也认为你的意思是executeQuery