Доступ к базе данных
Доступ к базе данных обеспечивают компоненты 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