Processing開発。
BezierSQLibライブラリを使ってSQLiteのDBにつないでいるのだが、1つ問題が。
というのも、エラーになったときExceptionが発生しない。
ライブラリ内部で例外処理までしてるのは兎も角、結果がエラーになってもエラーを判別できるフラグがない。
DBにLockがかかってる時にUPDATEしても、コンソールにエラーメッセージは出るが、それだけ・・・
Rollbackするタイミングがつかめない。
このままではマズイ。困った。
こうなったら、直接jdbcライブラリを利用しよう!となった。
プログラムソースのpdeファイルが入っているフォルダの下に「data」フォルダを作って、その中にDBファイルの「test.db」を入れる。
「data」フォルダと同じ並びに「code」フォルダを作って、その中にライブラリ「sqlite-jdbc-***.jar」ファイルを入れておく。
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; // ------------------- ( 略 ) ------------------- void getData() { Connection con = null; Statement stmt = null; try { Class.forName("org.sqlite.JDBC"); con = DriverManager.getConnection("jdbc:sqlite:"+ dataPath("test.db")); println("Opened database successfully"); stmt = con.createStatement(); stmt.executeUpdate("INSERT INTO m_users (user_cd ,user_name) VALUES ('1010101', 'Lily');"); stmt.close(); con.close(); } catch ( Exception e ) { println( e.getClass().getName() + ":" + e.getMessage()); } }
Macでいけたから、あとはWindowsでも確認しよう。