Gibt eine java.sql.PreparedStatement-Instanz zurück, mit der der Benutzer dem Download einer Synchronisation upsert-Vorgänge
(Einfügen oder Aktualisieren) hinzufügen kann. Die vorbereitete Anweisung gilt für die DownloadTableData-Instanz und enthält
einen Parameter für jede Spalte in der Tabelle.
Um einen Einfüge- oder Aktualisierungsvorgang in den Download einzubeziehen, legen Sie alle Spaltenwerte in java.sql.PreparedStatement
ein und rufen anschließend die Methode java.sql.PreparedStatement.executeUpdate auf. Beim Aufruf von java.sql.PreparedStatement.executeUpdate
in der vorbereiteten Anweisung wird der Wert 0 zurückgegeben, wenn der Einfüge- oder Aktualisierungsvorgang gefiltert wurde.
Der Wert 1 wird zurückgegeben, wenn der Vorgang nicht gefiltert wurde. Ein Vorgang wird gefiltert, wenn er in dieselben Synchronisation
hochgeladen wurde.
Hinweis
Legen Sie alle Spaltenwerte für Download-Einfüge- und Download-Aktualisierungsvorgänge fest.
Im folgenden Beispiel verwendet die Methode setDownloadInserts die Methode DownloadTableData.getUpsertPreparedStatement, um
eine vorbereitete Anweisung für Zeilen abzurufen, die Sie einfügen oder aktualisieren möchten. Die Methoden java.sql.PreparedStatement.setInt
und PreparedStatement.setString legen die Spaltenwerte fest, und die Methode PreparedStatement.executeUpdate legt die Zeilenwerte
im Download fest.
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();
}