2011-08-13 109 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