2011-08-13 13 views
4

私は小さなJavaアプリケーション用の組み込みデータベースのラッパーとしてSQLiteJDBCを使用しています。私は、INSERT文を実行毎回、私は次の例外を取得:SQLiteの例外: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); 

を?!?

答えて

14

変更を加えて結果を返さない場合は、executeStatement()ではなくexecuteUpdate()に電話する必要があります。

EDIT

私もexecuteStatement()どこかへの参照を見つけることができません。 executeQuery()を使っていましたか?

0

Sqliteは常にクエリーを実行してメッセージを返します。

警告/エラーが発生するのは正常です。返された行がないため、定義したコールバックでは使用できません。

PD:あなたもexecuteQueryを意味すると思います

関連する問題