Working with Records

Now that you know how to set up databases, you need to populate them with records. How you sort and therefore find a record is usually determined when you create it. Let’s first look at the mechanics of finding a record. After that, we’ll create a new record.

Finding a Record

If your records are sorted based on the value of a field (or fields) within the record, you can do a binary search to find a particular record. If your records aren’t sorted (or you are looking for a record based on the value of an unsorted field), you need to iterate through all the records, testing each record to see whether it is the one you want. Section 6.3.6 later in this chapter shows how to iterate through all records. If you are looking for a unique ID, there’s a call to find a record.

Finding a record given a unique ID

If you’ve got the unique ID, you get the record number using DmFindRecordByID :

UInt     recordNumber;
err = DmFindRecordByID(gDB, uniqueID, &recordNumber);

Note that this search starts at the first record and keeps looking until it finds the one with a matching unique ID.

Finding a record given a key

If you have records sorted by some criterion (see Section 6.3.7 later in this chapter), you can do a binary search to find a specific record. First, you need to define a comparison routine that compares two records and determines the ordering between the two. Here are the possible orderings:

  • The first is greater than the second

  • The second is greater than the first

  • They ...

Get Palm Programming: The Developer's Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.