[Java][SQLite] java.sql.SQLException: query does not return ResultSetという警告が出た時の確認項目

JavaとSQLiteを勉強中です。書籍やサイトのサンプルコードをコピペしていじりながら試行錯誤しています。先日、以下のような警告に悩まされました。

java.sql.SQLException: query does not return ResultSet

あるtableにデータをinsertしたかったのですが、EclipseのConsoleにこのような警告が赤字で表示されます。ただ、SQLiteのtableを見ると、問題なくinsertはできているようです。queryがreturnしていないという警告のようですが、insertにreturnはありません。ネットで調べたところ、executeUpdateとするべきところをexecuteQueryを使ってしまっていたのが良くなかったようです。

Connection conn = null;
conn = DriverManager.getConnection("jdbc:sqlite:test.db");
Statement stmt = conn.createStatement();
String sql = "INSERT INTO table(name, point) VALUES("taro", 8)";
stmt.executeUpdate(sql); //正
//stmt.executeQuery(sql); //誤

広告