Kapselt Informationen für eine Downloadtabelle für eine Synchronisation.
public interface DownloadTableData
Alle Mitglieder der DownloadTableData-Schnittstelle, einschließlich aller geerbten Mitglieder.
Name | Beschreibung |
---|---|
Gibt eine java.sql.PreparedStatement-Instanz zurück, mit der der Benutzer dem Download Löschvorgänge hinzufügen kann. | |
Gibt die letzte Downloadzeit für diese Tabelle zurück. | |
Ruft die Metadaten für die DownloadTableData-Instanz ab. | |
Gibt den Tabellennamen für die DownloadTableData-Instanz zurück. | |
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. |
Richten Sie mit dieser Schnittstelle die Datenvorgänge ein, die auf den Client geladen werden.
Sie können mit der DownloadData-Schnittstelle DownloadTableData-Instanzen für die aktuelle Synchronisation abrufen. Sie können mit den Methoden getUpsertPreparedStatement und getDeletePreparedStatement mit Java vorbereitete Anweisungen für Einfügungen, Aktualisierungen bzw. Löschungen abrufen.
Sie können die DELETE-Anweisung mit allen Primärschlüssel auf NULL ausführen, damit der entfernte Client die Tabelle kürzt.
Die java.sql.PreparedStatement.executeUpdate-Methode registriert einen Vorgang für den Download. Weitere Hinweise zu java.sql.PreparedStatement finden Sie in Ihrer Java Software Development Kit-Dokumentation.
Richten Sie alle Spaltenwerte für vorbereitete Einfüge- und Aktualisierungsanweisungen (Insert und Update). Für Löschvorgänge (Delete) müssen Sie Primärschlüsselwerte festlegen. Die vorbereiteten Anweisungen zum Löschen einerseits und zum Einfügen und Aktualisieren andererseits können nicht gleichzeitig geöffnet sein.
Weitere Hinweise zur direkten Zeilenbehandlung finden Sie unter Direkte Zeilenbehandlung.
In diesem Beispiel wird vorausgesetzt, dass die MobiLink-Client-Datenbanken eine Tabelle namens remoteOrders enthalten, die mit folgender SQL-Anweisung erstellt wurde:
CREATE TABLE remoteOrders ( pk INT NOT NULL, col1 VARCHAR(200), PRIMARY KEY (pk) ); |
Im folgenden Beispiel wird mit der DownloadData.getDownloadTableByName-Methode eine DownloadTableData-Instanz zurückgegeben, die die Tabelle remoteOrders darstellt. Bei diesem Beispiel wird vorausgesetzt, dass eine DBConnectionContext-Instanz namens _cc vorhanden ist.
// The method used for the handle_DownloadData event. public void handleDownload() throws SQLException { // Get the DownloadData for the current synchronization. DownloadData my_dd = _cc.getDownloadData(); // Get the DownloadTableData for the remoteOrders table. DownloadTableData td = my_dd.getDownloadTableByName("remoteOrders"); // User defined-methods to set download operations. setDownloadInserts(td); setDownloadDeletes(td); // ... } |
In diesen Beispiel verwendet die SetDownloadInserts-Methode GetUpsertCommand, um einen Befehl für die einzufügenden oder zu aktualisierenden Zeilen abzurufen. IDbCommand enthält die Parameter, die auf die Werte gesetzt werden, die in die entfernte Datenbank eingefügt werden sollen.
void setDownloadInserts(DownloadTableData td) { java.sql.PreparedStatement insert_ps = td.getUpsertPreparedStatement(); // The following method calls are the same as 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. } } |
Die setDownloadDeletes-Methode ruft mit DownloadTableData.getDeletePreparedStatement eine vorbereitete Anweisung für zu löschende Zeilen ab. Die java.sql.PreparedStatement.setInt-Methode legt die Primärschlüsselwerte für Zeilen fest, die Sie in der entfernten Datenbank löschen möchten. Die java.sql.PreparedStatement.executeUpdate-Methode registriert die Zeilenwerte für den Download.
void setDownloadDeletes(DownloadTableData td) { java.sql.PreparedStatement delete_ps = td.getDeletePreparedStatement(); // The following method calls are the same as the following SQL statement: // DELETE FROM remoteOrders where pk=2300; delete_ps.setInt(1, 2300); delete_ps.executeUpdate(); } |
getDeletePreparedStatement-Methode
getLastDownloadTime-Method
getMetaData-Methode
getName-Methode
getUpsertPreparedStatement-Methode
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |