Программирование с C++ Builder

     Быстро получил без предоплаты диплом ПТУ здесь с доставкой       

Доступ к базе данных



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

Содержание раздела