Но в практике программирования работа с таблицами целиком используется не так часто. А при работе с серверами баз данных промежуточное ПО, используемых технологий доступа к данным, все равно транслирует запрос на получение табличного набора данных в простейший запрос SQL, например:

£ЖЖТГ * FROM Orders

В такой ситуации применение табличных компонентов становится менее эффективным, чем использование запросов.

После соединения с источником данных (процесс подключения для каждой технологии подробно рассматривается в части IV) необходимо задать имя таблицы в свойстве

prcperty TableNarre: String;

Иногда в свойстве таЫеТуре дополнительно задается тип таблицы.

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

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

property IndexDefs: TIndexDefs;

Подробно класс TIndexDefs рассматривается ниже в этой главе.

При работе с компонентом разработчик имеет возможность управлять индексами.

Существующий индекс можно выбрать в Инспекторе объектов в списке свойств

property indexName: String;
или использовать свойство property IndexFieldNames: String;

в котором можно задать произвольное сочетание имен индексированных полей таблицы. Имена полей разделяются символом точкой с запятой. Таким образом, при помощи свойства IndexFieldNames можно создавать составные индексы.

Свойства IndexName И IndexFieldNames нельзя И(ЛОЛЬЭОВаТЪ Одновременно.

Число полей, используемых в текущем индексе табличного компонента, возвращает свойство

property IndexFieldCount: Integer; А свойство

property IndexFields: [Index: Integer] : TField;

представляет собой индексированный список полей, входящих в текущий индекс:

for i := 0 to МуТаЫе. IndexFieldCount - 1 do MyTable.IndexFields[i].Enabled := False;

Для выполнения операций с таблицами и индексами целиком в табличных компонентах реализовано несколько методов.

Метод

procedure CreateTable;

создает новую таблицу в базе данных, используя заданное имя и описание полей, и индексов из свойств TFieidDefs и TindexDefs. Если таблица с таким именем уже имеется в базе данных, то она будет уничтожена и создана заново с новой структурой и данными.

Метод

procedure EmptyTable;

удаляет из набора данных и таблицы базы данных все записи.

Метод ргосесклге Бэ1еЬеТаЫе;

уничтожает таблицу базы данных, связанную с компонентом. Набор данных должен быть закрыт.

Метод

type

TIndexOption = (ixPrimary, ixUnigue, ixDescending, ixCaselnsensitive, ixExpression, ixNonMaintained);
TIndexOptions = set of TlndexOption;
procedure Addlndex(const Name, Fields: String;
Options: TIndexOptions, const DescFields: String='');

добавляет к таблице БД новый индекс. Параметр Name задает имя индекса. В параметре Fields через точку с запятой определяются имена полей, входящих в индекс; Параметр DescFields задает описание индекса из констант, объявленных В типе TIndexOption.


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Июнь
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс