今回は、前々回の内容を元に、トランザクションとメタデータを試してみました。ここで使っているデータベースは、IDが文字列型になっています。したがってIDとして数値以外でも入力可能です。以下のプログラムでは、executeUpdate()でデータベースに登録してから、Integer.parseInt()でIDを整数にしようとします。これが成功すればcommit()を実行してデータベースへの登録を確定し、例外が発生すればrollback()で登録を取り消します。それを可能にするために、あらかじめsetAutoCommit()メソッドにより自動コミットをOFFにしておきます。一覧表表示では、ResultSetのメタデータから列数と列名を得て表示します。これはいいのですが、列番号が1から始まるところが、なんともすっきりしませんね。ところで、このプログラムは、複数のクライアントからの同時アクセスには対応していません。SingleThreadModelにするか、コネクションプールを作るかしかないと思うのですが、それはまたそのうち。}本日の教訓トランザクションの簡単な実現方法が分かったような。Connectionを操作するので、Connectionを共有できなくなることに注意。Servlet日記(1999/11/14)。