As we discussed earlier, there are several different ways to move data around during a synchronization. Let’s look at what is involved in moving data from the desktop to the handheld. This is commonly done with databases that are updated exclusively on the desktop and are routinely moved to handhelds where they aren’t modified, but may also occur when the user chooses “Desktop overwrites handheld” in the HotSync Settings dialog box (see Figure 14-12).
You need to create the database if it doesn’t already exist. You should delete any existing records before moving the ones from the desktop because you won’t want the old ones; all you’ll want are the newly moved ones.
There are a few different routines from which to choose for removing records from the handheld:
Removes one specific record
Removes all records from a database
Removes all records from the specified category
Removes all records that have been marked as deleted or archived
For no terribly good reason, one API uses the term
“delete,” while others use “purge.” All of
them remove records (completely) from the database. In our particular
SyncPurgeAllRecs is the call we want to
Once you have a nice, empty database, you can fill it up with fresh
records from the desktop. You can add or replace records with the
Sync Manager call,
long SyncWriteRec(CRawRecordInfo ...