Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » Ultra Light - Java プログラミング » Ultra Light J アプリケーションの開発 » SQL 文を使用したデータの作成と修正

 

INSERT、UPDATE、DELETE を使用したデータ修正

PreparedStatement の execute メソッドを使用して SQL データ修正を実行できます。PreparedStatement は、データベースに対してユーザー定義の SQL 文を実行します。

PreparedStatement に SQL 文を適用するときは、? 文字でクエリパラメーターを指定します。INSERT 文、UPDATE 文、DELETE 文では、文での順序位置に従ってそれぞれの ? パラメーターが参照されます。たとえば、最初の ? はパラメーター 1、2 番目の ? はパラメーター 2、のようになります。

 ♦ テーブルへのローの挿入 (INSERT)
  1. 新しい SQL 文を String として準備します。

    String sql_string = 
        "INSERT INTO Department(dept_no, name) VALUES( ?, ? )";
  2. String を PreparedStatement に渡します。

    PreparedStatement inserter = 
        conn.prepareStatement(sql_string);
    
  3. set メソッドを使用して、入力値を PreparedStatement に渡します。

    この例では、パラメーター 1 として参照している dept_no に 101 を設定し、パラメーター 2 として参照している name に "Electronics" を設定しています。

    inserter.set(1, 101);
    inserter.set(2, "Electronics");
  4. 文を実行します。

    inserter.execute();
  5. PreparedStatement を閉じてリソースを解放します。

    inserter.close();
  6. データベースへのすべての変更をコミットします。

    conn.commit();

手順 (3) と (4) は、必要に応じて何回でも繰り返すことができます。

あるいは、次の例に示すように、単一エントリだけを挿入する必要がある場合は、1 つの INSERT 文を準備し、実行して、終了できます。

INSERT INTO Department(dept_no, name) VALUES(2, 'Electronics');

文は、Java String を連結させて作成することもできます。

 ♦ テーブル内のローの更新 (UPDATE)
  1. 新しい SQL 文を String として準備します。

    String sql_string = 
        "UPDATE Department SET dept_no = ? WHERE dept_no = ?";
  2. String を PreparedStatement に渡します。

    PreparedStatement updater = 
        conn.prepareStatement(sql_string);
    
  3. set メソッドを使用して、入力値を PreparedStatement に渡します。

    updater.set(1, 102);
    updater.set(2, 101);

    上記の例は、次の SQL 文の実行と同じです。

    UPDATE Department SET dept_no = 102 WHERE dept_no = 101;
  4. 文を実行します。

    updater.execute();
  5. PreparedStatement を閉じてリソースを解放します。

    updater.close();
  6. データベースへのすべての変更をコミットします。

    conn.commit();

手順 (3) と (4) は、必要に応じて何回でも繰り返すことができます。

あるいは、単一の更新だけを実行する場合は、次の文を準備し、実行して、終了できます。

UPDATE Department SET dept_no = 102 WHERE dept_no = 101;

この文は、Java String を連結させて作成することもできます。

 ♦ テーブル内のローの削除 (DELETE)
  1. 新しい SQL 文を String として準備します。

    String sql_string = 
        "DELETE FROM Department WHERE dept_no = ?";
  2. String を PreparedStatement に渡します。

    PreparedStatement deleter = 
        conn.prepareStatement(sql_string);
    
  3. set メソッドを使用して、入力値を PreparedStatement に渡します。

    deleter.set(1, 102);

    上記の例は、次の SQL 文の実行と同じです。

    DELETE FROM Department WHERE dept_no = 102;
  4. 文を実行します。

    deleter.execute();
  5. PreparedStatement を閉じてリソースを解放します。

    deleter.close();
  6. データベースへのすべての変更をコミットします。

    conn.commit();
  7. 手順 (3) と (4) は、必要に応じて何回でも繰り返すことができます。

    あるいは、前述したように、単一の削除だけを実行する場合は、次の文を準備し、実行して、終了できます。

    DELETE FROM Department WHERE dept_no = 102;

    この文は、Java String を連結させて作成することもできます。

 例