
- •Создание базы данных
- •Создание таблиц
- •Доступ к данным через компоненты Table и Query
- •Компонент tDataSource
- •Компонент tTable
- •Компонент tField
- •Создание и средства для работы с базами данных Компонент tdbGrid
- •Пример 1. Разработка простейшего приложения
- •Пример 2. Разработка приложения, использующего вычисляемое поле
- •Компоненты tdbLookup
- •Пример 3. Разработка приложения, использующего компонент просмотра баз данных
- •Компонент tQuery
Базы данных и приложения.
31.01.13
Используя Borland C++ Builder, можно создать приложения, работающие как с однопользовательскими базами данных (БД), так и с серверными СУБД, такими как Oracle, Sybase, Informix, Interbase, MS SQL Server, DB2, а также с ODBC-источниками. Возможности C++ Builder, связанные с созданием приложений, использующих базы данных, весьма обширны для того, чтобы описать их в одной статье. Поэтому сегодня мы рассмотрим лишь простейшие возможности работы с таблицами баз данных.
Набор
данных в C++ Builder - это объект, состоящий
из набора записей, каждая из которых, в
свою очередь, состоит из полей, и указателя
текущей записи. Набор данных может иметь
полное соответствие с реально существующей
таблицей или быть результатом запроса,
он может быть частью таблицы или
объединять между собой несколько таблиц.
Набор данных в C++ Builder является потомком абстрактного класса TDataSet (абстрактный класс - это класс, от которого можно порождать другие классы, но нельзя создать экземпляр объекта данного класса). Например, классы TQuery, TTable и TStoredProc, содержащиеся на странице палитры компонентов Data Access, - наследники TDBDataSet, который, в свою очередь, является наследником TDataSet. TDataSet содержит абстракции, необходимые для непосредственного управления таблицами или запросами, обеспечивая средства для того, чтобы открыть таблицу или выполнить запрос и перемещаться по строкам.
Создание базы данных
Для управления базами данных BDE (Borland Database Engine) на локальном компьютере используется программа BDE Administrator (Пуск — Выполнить — C:\Program Files\Common Files\Borland Shared\BDE\bdeadmin.exe либо поместить на форму компонент Table с вкладки BDE, щёлкнуть по нему правой кнопкой и выбрать Explore). После запуска в левом поле отображается список баз данных, созданных на данном компьютере, справа для выбранной базы данных отображены её свойства (а именно, драйвер, используемый для доступа к базе, и путь на диске, где расположены файлы этой базы данных).
Для создания новой базы данных необходимо в меню Object выбрать пункт New. Значение Database Driver Name оставить STANDARD. В появившемся слева списке переименовать (F2) созданную базу (обычно STANDARD1) и в правой части окна в графе PATH указать путь к таблицам (любой каталог на диске, где вы планируете создавать таблицы или куда вы их скопировали, например, на вашем сетевом диске). Затем нажать кнопку с синей стрелкой или выбрать пункт Apply в меню Object (для сохранения изменений). Операцию по созданию базы данных необходимо будет проводить на каждом компьютере, куда вы скопируете свою программу.
Альтернативным (пожалуй, не очень хорошим) вариантом будет расположение таблиц базы данных в каталоге программы, в таком случае в поле DatabaseName компонентов Table и Query нужно указывать путь к каталогу, в котором находятся таблицы.
Создание таблиц
Для работы с таблицами используется программа Database Desktop (Пуск — Выполнить — dbd32). Внимание: при работе в терминальном классе сразу после запуска программы измените пути к Private directory и Working directory (соответствующие пункты в меню File) — там должны быть указаны каталоги, в которые у вас есть право записи, например, C:\Work.
Чтобы создать новую таблицу, необходимо выбрать пункт меню File — New — Table и согласиться с типом таблицы Paradox 7. После этого вам будет предложено указать, какие поля содержатся в таблице. Каждое поле имеет имя (идентификатор, состоящий из латинских букв, цифр и знака подчёркивания) и тип. Определены несколько типов, из которых наиболее часто используемыми являются:
Alpha — строка, необходимо также указать максимальную длину в поле Size;
Number — вещественное число;
Long Integer — целое число;
Date — дата;
Time — время;
+ (Autoincrement) — автоинкрементное поле.
Одно или несколько полей можно сделать ключами (Key), тогда СУБД будет требовать, чтобы значения этих полей или группы полей не повторялись в пределах таблицы. Если поле имеет тип Autoincrement, значения ему будут присваиваться автоматически базой данных при добавлении новой записи в таблицу. Удобно делать поля ID всех таблиц (кроме, конечно, таблиц связи) + (Autoincrement) и ставить им атрибут Key.
После создания таблицы её необходимо сохранить, выбрав в поле Alias внизу диалогового окна имя созданной базы данных. Затем таблицу можно открыть для добавления начальных данных. Для редактирования записей необходимо перейти в режим редактирования (Table — Edit data или F9), а для сохранения данных — выйти из режима редактирования.
Для изменения структуры таблицы используется пункт меню Table — Restructure. Таблица при этом не должна использоваться в Borland C++ Builder.
При появлении проблем с доступом (Table is in use и похожие ошибки) решение номер 1 — закрыть С++ Builder и Database Desktop и открыть заново.
Работа с базой данных из С++ Builder