What are tables

This topic describes the structure of a table. A table is an item that can be stored in the Comms Database.

A table is a set of records. All records in a table are the same type. A table is also a container and an element.

There are two types of table:

  • a table that has records defined at system compile time - these records have named fields and are defined by Symbian platform.

  • a table that consists of records defined at run time - these records are user defined records - they are not known to Symbian platform when Symbian platform is built.

Tables that have records defined at system compile time

A table that has records defined at system compile time is represented by the templated class [[[ERROR: [NOKX000E] Unable to find definition for key reference 'CommsDat']]]CMDBRecordSet <T>. The template parameter defines the record type. The template parameter is a Symbian platform defined record.

You create a table object on the heap. You use the new (Eleave) construction to create this object.

The CommsDat API implements the table as an array of records and uses [[[ERROR: [NOKX000E] Unable to find definition for key reference 'CommsDat']]]RPointerArray <T> as the array. The CommsDat API implements RPointerArray<T> in the base class [[[ERROR: [NOKX000E] Unable to find definition for key reference 'CommsDat']]]CMDBRecordSetBase, because this behaviour is common to all tables. Tools and applications can access the array and can use the sort behaviour provided by RPointerArray<T> to sort records.

Tables that have user defined records

A table that has user defined records is represented by the [[[ERROR: [NOKX000E] Unable to find definition for key reference 'CommsDat']]]CMDBGenericRecord. The class has the behaviour that allows it to represent a record and a set of records. Internally, the class has an array that can contain the records.

You use the [[[ERROR: [NOKX000E] Unable to find definition for key reference 'CommsDat']]]CommsDat::CCDRecordBase::RecordFactoryL() factory function to create a [[[ERROR: [NOKX000E] Unable to find definition for key reference 'CommsDat']]]CMDBGenericRecord object.