M Y D E L P H I 7 . R U Самоучитель программирования  
 
  • Главная
  •  

     

    Описание индекса

     

    Параметры каждого индекса набора данных представлены в классе TindexDef, а их совокупность для набора данных содержится в свойстве indexDefs класса TDataSet.

    Свойство

    property Name: String;

    определяет название индекса.

    Список всех полей индекса содержится в свойстве

    property Fields: String;

    Поля разделяются точкой с запятой.

    Свойство

    property CaselnsFields: String;

    содержит список полей, регистр символов в которых при сортировке не учитывается. Поля разделяются точкой с запятой. Все поля из этого списка должны входить в свойство Fields. В наборе данных по умолчанию используется сортировка записей с учетом регистра символов. Но некоторые серверы БД допускают комбинированную сортировку по полям с учетом регистра и без.

    Свойство

    property DescFields: String;

    содержит список полей через точку с запятой, которые сортируются в обратном порядке. Все поля из этого списка должны входить в свойство Fields. По умолчанию все поля сортируются в прямом порядке. Некоторые серверы БД поддерживают одновременную сортировку полей в прямом и обратном порядке.

    Свойство

    property GroupingLevel: Integer;

    позволяет ограничить область применения индекса. Если значение этого свойства равно нулю, индекс упорядочивает все записи набора данных. В противном случае действие индекса распространяется на группы записей, имеющих одинаковые значения для того числа полей, которое задано этим свойством.

    Параметры индекса определяются свойством

    property Options: TindexOptions;

    Для индекса возможны сочетания следующих параметров:

    •  ixPrimary — первичный индекс;
    •  ixunique — значения индекса уникальны;
    •  ixDescending — индекс сортирует записи в обратном порядке;
    •  ixCaseinsensitive — индекс сортирует записи без учета регистра символов;
    •  ixExpression — в индексе используется выражение (для индексов dBASE); 
    •  ixNonMaintained — индекс не обновляется при открытии таблицы.

    Метод

    procedure Assign(ASource: TPersistent); override;

    заполняет свойства объекта значениями аналогичных свойств объекта ASource.