Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OAP_VOpros_6-7_Bazy_dannykh_1_lektsia_lab_1.doc
Скачиваний:
23
Добавлен:
30.04.2015
Размер:
3.33 Mб
Скачать

3. Модули данных

Для упрощения разработки приложений баз данных наряду с формами в Delphi используются модули данных. Модуль данных (data module) – это централизованный контейнер для невизуальных компонентов доступа к базе данных. Он предназначен для отделения логики обработки данных и бизнес-правил от логики работы пользовательского интерфейса.

4. Компоненты для работы с базой данных

Для работы с базами данных используются три группы компонентов:

  • множества данных (data sets);

  • визуальные компонентs баз данных (data-aware controls);

  • источники данных (data sources).

Множества данных – это невизуальные компоненты, которые взаимодействуют с BDE и обеспечивают доступ к данным в таблицах. Главные из них – Table и Query.

Компонент Table является самым фундаментальным множеством данных в Delphi. Он обеспечивает доступ к таблице практически любой СУБД. С помощью данного компонента можно организовать произвольный доступ к любой записи или их подмножеству, поиск записей по заданному критерию.

Компонент Query является самым гибким множеством данных в Delphi. Он инкапсулирует в себе запрос к базе данных на языке SQL, результат действия которого есть логическая таблица, формируемая их строк и столбцов всех физических таблиц базы данных. В сравнении с компонентом Table компонент Query обладает тем преимуществом, что он может работать сразу с несколькими таблицами, предоставляя доступ ко всем реляционно связанным данным. Более того, данный компонент позволяет создавать “гетерогенные множества”, объединяя на серверах таблицы с разнотипными СУБД.

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

Источники данных – это невизуальные компоненты DataSource, выполняющие роль трубопроводов между множествами данных и визуальными компонентами данных.

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

1. Таблица с источником данных

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

Компонент Table содержит все необходимые свойства, события и методы для создания, модификации, поиска, и фильтрации записей в таблице. Он обеспечивает простой и эффективный доступ к таблице. Важнейшие свойства компонента следующие:

Свойство

Описание

Active

Если равно True, то таблица открыта, если False, то закрыта.

CachedUpdates

Если равно True, операции по модификации таблицы (например, изменение или удаление записей) сразу не выполняются, а кэшируются (т.е. накапливаются). Для физического выполнения скопившихся операций вызывается метод ApplyUpdates.

DatabaseName

База данных, которой принадлежит таблица. Это свойство либо содержит псевдоним, либо маршрут к файлам таблиц.

Exclusive

Если равно True, всем остальным пользователям таблицы будет отказано в доступе.

Filter

Булевское выражение, задающее фильтр для записей.

Filtered

Включает или выключает фильтрацию записей.

FilterOptions

Флаги, определяющие режимы фильтрации.

IndexFieldNames

Имена индексных полей, по которым упорядочиваются записи.

IndexFiles

Список индексных файлов, используемых при работе с таблицами в формате Dbase.

IndexName

Вторичный индекс таблицы. Свойства IndexName и IndexFieldNames являются взаимоисключающими.

MasterFields

Содержит имена полей, по которым данная подчиненная таблица связывается с главной таблицей.

MasterSource

Указывает источник данных (компонент DataSource) главной таблицы, если данная таблица является подчиненной.

ReadOnly

Позволяет запретить любую модификацию данных в таблице.

TableName

Имя таблицы БД.

TableType

Физический тип таблицы (возможные значения: ttASCII, ttDBase, ttParadox). Это свойство игнорируется при работе с серверной СУБД.

Второй компонент, называемый DataSource, является вспомогательным. Он используется для соединения таблицы в базе данных с визуальным компонентом на форме. Свойства компонента DataSource приводятся в cледующей таблице:

Свойство

Описание

AutoEdit

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

DataSet

Указывает компонент (Table или Query), поставляющий данные из таблицы.

Enabled

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