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(); } |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |