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

Рис. 5.8. Компоненты вкладок Data Access и BDE обеспечивают доступ к данным
Компонент Database представляет базу данных как единое целое, т. е. как совокупность таблиц, а компонент
Table — как одну из таблиц базы данных. Компонент DataSource (источник данных) обеспечивает связь между компонентом отображения-редактирования данных (например, компонент
DBGrid) и источником данных, в качестве которого может выступать таблица
(компонент Table) или результат выполнения SQL-запроса к таблице (компонент
Query). Компонент DataSource позволяет оперативно выбирать источники данных, использовать один и тот же компонент (например,
DBGrid) для отображения всей таблицы (базы данных) или только результата выполнения SQL-запроса к этой таблице. Компоненты доступа к данным обращаются к базе данных не напрямую, а через процессор баз данных —
Borland Database Engine (BDE).
Ядро BDE образуют динамические библиотеки, реализующие механизмы обмена данными и управления запросами. В состав
BDE включены драйверы, обеспечивающие работу с файлами данных форматов Paradox,
dBase, FoxPro. Имеется также механизм подключения драйверов ODBC. Доступ к данным
SQL серверов обеспечивает отдельная система драйверов — SQL Links. С их помощью можно получить доступ к базам данных
Oracle, Infomix, Sysbase и Interbase.
Механизм взаимодействия компонента отображения-редактирования данных (DBGrid)
с данными (Table или Query) Через компонент
DataSource показан на рис. 5.9.

Рис. 5.9. Взаимодействие компонентов доступа-отображения данных и BDE
В форму разрабатываемого приложения надо добавить компоненты Table и DataSource.
Свойства компонентов Table и DataSource приведены в табл. 5.2 и 5.3. Свойства перечислены в том порядке, в котором рекомендуется устанавливать их значения.
Значения свойств DatabaseName и TableName задаются путем выбора из списков. В списке
DatabaseName перечислены все зарегистрированные на данном компьютере псевдонимы, а в списке
TableName — имена файлов таблиц, которые находятся в соответствующем псевдониму каталоге.
Таблица 5.2. Свойства компонента Table
Свойство
|
Определяет
|
DatabaseName
|
Имя базы данных, частью которой является таблица (файл данных), для доступа к которой используется компонент. В качестве значения свойства следует использовать псевдоним базы данных
|
TableName
|
Имя файла данных (таблицы данных), для доступа к которому используется компонент
|
TableType
|
Тип таблицы. Таблица может быть набором данных в формате Paradox (ttParadox), dBase (ttDBase), FoxPro
(ttFoxPro) или другого типа. По умолчанию значение свойства равно
ttDefault — это означает, что тип таблицы будет определен на основе информации, которая находится в файле таблицы
|
Active
|
Признак активизации файла данных (таблицы). В результате присваивания свойству значения
true файл таблицы будет открыт
|
Таблица 5.3. Свойства компонента Data source
Свойство
|
Определяет
|
Name
|
Имя компонента. Используется для доступа к свойствам компонента
|
DataSet
|
Компонент, представляющий входные данные (таблица или запрос)
|
Свойство DataSet компонента DataSource обеспечивает возможность выбора источника данных, а также связь между компонентом, представляющим данные (таблица или запрос), и компонентом отображения данных. Например, большая база данных может быть организована как набор таблиц одинаковой структуры. В этом случае в приложении работы с базой данных каждой таблице будет соответствовать свой компонент
Table, а выбор конкретной таблицы можно осуществить установкой значения свойства
DataSet.
Компоненты доступа к базе данных являются невизуальными и во время работы программы на форме не видны. Поэтому их можно поместить в любую точку формы (рис. 5.10).
Значения свойств компонентов Table1 и DataSourcel приложения "Ежедневник" приведены в табл. 5.4 и 5.5.
Таблица 5.4. Значения свойств компонента Table1
Свойство
|
Значение
|
Name
|
Table1
|
DatabaseName
|
organizer
|
TableName
|
org.db
|
Active
|
false
|
Таблица 5.5. Значения свойств компонента DataSource1
Свойство
|
Значение
|
Name
|
DataSourcel
|
DataSet
|
Tablel
|
Рис. 5.10. Форма после добавления компонентов Table и DataSource
|