Программирование с 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

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