ページの先頭行へ戻る
Symfoware Server V12.1.x アプリケーション開発ガイド(JDBCドライバ編)
FUJITSU Software

3.14 ResultSetでのデータ更新

操作手順

ResultSetを用いてデータベースのデータを更新する場合、以下の手順で行います。

記述例

ResultSetを用いてデータベースのデータを更新する場合の記述例を以下に説明します。

Statement stmt = conn.createStatement
 (ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);              (1)

ResultSet rs = stmt.executeQuery(
               "SELECT ID,NAME FROM GENERAL.EMPLOYEE");                 (2)

while(rs.next()) {                                                      (3)

rs.updateString(2, "ABC");                                              (4)
rs.updateRow();                                                         (4)
}

rs.close();                                                             (5)
stmt.close();                                                           (5)

con.commit();                                                           (6)

(1) SQL文を実行するためのオブジェクトの生成、ResultSetの更新可能の指定

(2) ResultSetオブジェクトの生成

(3) カーソルの位置づけ

(4) ResultSetの更新

(5) オブジェクトのクローズ

(6) トランザクションのコミット


以下に各項目の設定方法を示します。

SQL文を実行するためのオブジェクトの生成、ResultSetの更新可能の指定

ConnectionインタフェースのcreateStatementメソッドにResultSet.CONCUR_UPDATABLEを指定して、Statementインタフェースのオブジェクトを生成します。

ResultSetオブジェクトの生成

StatementインタフェースのexecuteQueryメソッドを使用し、ResultSetオブジェクトを生成します。

読込み専用カーソルとなるSQL文を指定した場合は、ResultSetの更新時にエラーとなります。

カーソルの位置づけ

ResultSetインタフェースのnextメソッドを使用し、カーソルを現在の位置から1行下に移動します。

ResultSetの更新

ResultSetインタフェースのupdateXXXメソッドを使用し更新するデータを用意します。

参照

updateXXXメソッドの詳細については“Java APIリファレンス”を参照してください。

ResultSetインタフェースのupdateRowメソッドを使用してデータベースのデータを更新します。

オブジェクトのクローズ

生成した各クラスのオブジェクトをクローズします。

ResultSetインタフェースのcloseメソッド、Statementインタフェースのcloseメソッドを使用します。

トランザクションのコミット

トランザクションをコミットします。

Connectionインタフェースのcommitメソッドを使用します。