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

SQL Anywhere 11.0.1 (日本語) » Mobile Link - サーバ管理 » Mobile Link サーバ API » Java による同期スクリプトの作成 » Java 用 Mobile Link サーバ API リファレンス » DownloadTableData インタフェース

 

getUpsertPreparedStatement メソッド

構文
public java.sql.PreparedStatement getUpsertPreparedStatement( ) throws SQLException
備考

ユーザがアップサート (更新または挿入) 操作を同期のダウンロードに追加できるようにする java.sql.PreparedStatement インスタンスを返します。この準備文は DownloadTableData インスタンスに適用され、テーブルの各カラムに対するパラメータを含んでいます。

ダウンロードに挿入または更新操作を含めるには、java.sql.PreparedStatement ですべてのカラム値を設定してから、java.sql.PreparedStatement.executeUpdate メソッドを呼び出します。準備文で java.sql.PreparedStatement.executeUpdate を呼び出すと、挿入または更新操作がフィルタされた場合には 0 が返され、フィルタされなかった場合には 1 が返されます。同じ同期でアップロードされた場合、操作はフィルタされます。

注意

ダウンロード挿入と更新操作のすべてのカラム値を設定してください。

戻り値

アップサート操作をダウンロードに追加するための java.sql.PreparedStatement インスタンス

例外
  • SQLException   アップサート用の java.sql.PreparedStatement インスタンスの取り出し時に問題が発生した場合に発行されます。

参照

次の例では、setDownloadInserts メソッドは DownloadTableData.getUpsertPreparedStatement を使用して、挿入または更新するローの準備文を取得します。java.sql.PreparedStatement.setInt メソッドと PreparedStatement.setString メソッドはカラム値を設定し、PreparedStatement.executeUpdate メソッドはダウンロード内のロー値を設定します。

void setDownloadInserts(DownloadTableData td) { 
    java.sql.PreparedStatement insert_ps = td.getUpsertPreparedStatement();

    // This is the same as executing the following SQL statement:
    // INSERT INTO remoteOrders(pk, col1) VALUES (2300, "truck");
    insert_ps.setInt(1, 2300); 
    insert_ps.setString(2, "truck");

    int update_result = insert_ps.executeUpdate();
    if (update_result == 0) {
        // Insert was filtered because it was uploaded 
        // in the same synchronization.
    }
    else {
        // Insert was not filtered.
    }
    insert_ps.close();
}