目次へ

5.3. ResultSetを用いたinsert

次にinsertについて説明します。insertはinsert用の行があり、そこに移動して処理を行います。サンプルでは前半部を省略しています。

 ResultSet result=statement.executeQuery();
 result.moveToInsertRow();
 result.updateInt(1, 100);
 result.updateString(2, "Volt");
 result.updateString(3, "SUV");
 result.updateInt(4, 200);
result.insertRow();
result.moveToCurrentRow();
conn.commit();

5行目の「moveToInsertRow」がinsert用の行にカーソルを移動させるメソッドです。insert用の行に移動してからは、updateの際と同じく「updateXXX」メソッドで値を設定します(6〜9行目)。最後に「insertRow」メソッドが呼び出された時点で、設定された値がDBに挿入されます(10行目)。データが確定するのは12行目のcommitされたときです。

11行目の「moveToCurrentRow」は「moveToInsertRow」を呼び出す時点でカーソルがいた行に戻るメソッドです。これにより、結果セットからの値の取り出しを引き続いて行う事ができます。このとき、挿入された行が結果セットに含まれるかどうかはJDBCドライバによります。これについては以降の節で説明します。

(実習課題2)

以下のコンソールアプリケーションを作成しなさい。

  • まず「product」テーブルの値を表示する。
  • 表示後、新しいデータの挿入を行う。挿入する値は、コンソールからの入力によって指定するようにする事。
  • プログラム実行後、入力したデータがテーブルに挿入されている事を確認する事。

解答例はこちら

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp
  • シナジーマーケティング研究開発グループブログ