Доступ к базе данных (таблице)

Доступ к базе данных обеспечивают компоненты Database, Table, Query и DataSource, значки которых находятся на вкладках Data Access и BDE палитры компонентов (рис. 17.6).

Рис. 17.6. Компоненты вкладок Data Access и BDE обеспечивают доступ к данным

Компонент Database представляет базу данных как единое целое, т. е. совокупность таблиц, а компонент Table — одну из таблиц базы данных. Компонент DataSource (источник данных) обеспечивает связь компонента отображения-редактирования данных (например, компонента DBGrid) и источника данных, в качестве которого может выступать таблица (компонент Tаblе) или результат выполнения SQL-запроса к таблице (компонент SQL). Компонент DataSource позволяет оперативно выбирать источник данных, использовать один и тот же компонент, например, DBGrid для отображения данных из таблицы или результата выполнения SQL-запроса к этой таблице. Механизм взаимодействия компонентов отображения-редактирования данных с данными через компонент DataSource иллюстрирует рис. 17.7.

Рис. 17.7. Взаимодействие компонентов отображения и доступа к данным

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

В табл. 17.5 перечислены свойства компонента Table, а в табл. 17.6 — свойства компонента DataSource. Свойства перечислены в том порядке, в котором следует устанавливать их значения после добавления компонентов в форму приложения.

Таблица 17.5. Свойства компонента Table

| Свойство | Определяет |

Name Database

NameTable

Name Table

Type

Active

Имя компонента. Используется для доступа к свойствам компонента

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

Имя файла данных (таблицы данных), для доступа к которому используется компонент

Тип таблицы. Таблица может быть набором данных в формате Paradox («Paradox), dBase (ttDBase), FoxPro («FoxPro) или представлять собой форматированный текстовый файл (ttASCII).

Признак активизации файла данных (таблицы). В результате присваивания свойству значения True происходит открытие файла таблицы

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

Таблица 17.6. Свойства компонента DataSource

| Свойство | Определяет |
| Name | Имя компонента. Используется для доступа к свойствам компонента |
| DataSet | Имя компонента, представляющего собой входные данные |

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

В табл. 17.7 и 17.8 приведены значения свойств компонентов Table и DataSource для разрабатываемого приложения.

Таблица 17.7. Значения свойств компонента Table

| Свойство | Значение |
| Name | Table1 |
| DatabaseName | Peterburg |
| TableName | monuments . db |
| Active | True |

Таблица 17.8. Значения свойств компонента DataSource

| Свойство | Значение |
| Name DataSet | DataSourcel Table1 |