Assuming that your remote client contains a table called sparse_pk, the following example uses the GetDeletes method to obtain
a data reader of deleted rows. In this case, the delete DataReader includes two primary key columns. Note the index of each
primary key column.
CREATE TABLE sparse_pk (
pcol1 INT NOT NULL,
col2 VARCHAR(200),
pcol3 INT NOT NULL,
PRIMARY KEY (pcol1, pcol3)
);
using iAnywhere.MobiLink.Script;
using System;
using System.IO;
using System.Data;
using System.Text;
...
// The method used for the handle_UploadData event.
public void HandleUpload(UploadData ut) {
// Get an UploadedTableData for the sparse_pk table.
UploadedTableData sparse_pk_table = ut.GetUploadedTableByName("sparse_pk");
// Get deletes uploaded by the MobiLink client.
using( IDataReader data_reader = sparse_pk_table.GetDeletes() ) {
while (data_reader.Read()) {
StringBuilder row_str = new StringBuilder("( ");
row_str.Append(data_reader.GetString(0)); // pcol1
row_str.Append(", ");
row_str.Append(data_reader.GetString(1)); // pcol3
row_str.Append(" )");
writer.WriteLine(row_str);
}
}
}