Теоретические сведения: В любом приложении для работы с БД присутствуют компоненты, которые связывают его с информацией, хранящейся в БД. При этом обеспечивается взаимосвязь между средствами физического хранения данных и отображаемыми компонентами, которые выводят их на экран. Компоненты, используемые для организации доступа к БД, размещаются на странице Data Access и являются невизуальными. Компоненты, используемые для вывода данных из БД на экран, размещаются на странице Data Controls и являются визуальными. Организация доступа к локальным БД приведена на рис.2.1. TTable БД TDataSource BDE Компоненты для отображения данных TDataBase TSession (Default) Рис.2.1. Непосредственный обмен информацией с физическим хранилищем данных для элементов происходит через BDE (процессор БД, определяющий технологию доступа к данным). Доступ к данным организован с помощью двух уровней: набора данных, формируемого на основании непосредственного доступа к физическому хранилищу данных (класс TTable) и предоставления источника данных для отображаемых компонент (класс TDataSource). Таким образом, приложение Delphi для работы с БД содержит по крайней мере 3 группы компонент: Компонент доступа к данным (Table): TTable = class (TDBDataSet) property DatabaseName:TFileName - задает необходимую БД с помощью псевдонима БД, определенного в BDE, или пути к файлу таблицы БД; property TableName:TFileName - задает имя файла, в котором хранится таблица БД (для формата Paradox - файлы .db); property Active:Boolean - определяет доступ к данным, т.е. возможность работы с информацией из БД в приложении. Компонент, используемый как источник данных для отображаемых компонент в форме БД (DataSource): TDataSource = class (TComponent) property DataSet:TDataSet - содержит указатель на компонент TTable или TQuery, которые обеспечивают связь с соответствующими таблицами БД и определяют набор данных. Компоненты для отображения и управления данными: Практически все эти компоненты являются модификациями обычных компонент представления данных, дополненные средствами работы с информацией из БД. Общим для описываемых ниже компонент является свойства: property DataSource:TDataSource - определяет набор данных для отображения в выбранном компоненте. Именно это свойство качественно отличает компоненты отображения данных из БД от своих аналогов; property DataField:string - определяет имя поля, значение из которого будет отображено в выбранном компоненте. Данным свойством обладают все компоненты для отображения данных, за исключением компонент DBGrid и DBNavigator. Наиболее часто используемые компоненты при создании простейших приложений для работы с БД и их назначение указаны в табл. 2.1. Таблица 2.1 Название Назначение Аналог TDBGrid = class (TCustomDBGrid) Табличное отображение данных из БД StringGrid TDBEdit=class (TCustomMaskEdit) Отображение и редактирование значения в MaskEdit конкретном поле записи БД TDBImage = class Отображение и редактирование графических и Image (TCustomControl) мультимедийных данных. TDBMemo = class (TCustomMemo) Отображение и редактирование информации из Memo полей, предназначенных для хранения данных большого объема. К таким полям относятся поля типа Memo, в котором хранится текстовая информация и BLOB, в котором хранятся объекты в двоичном представлении (текст, графика и др.). Независимо от природы информации в компоненте DBMemo информация из поля типа BLOB будет отображаться в виде текста. TDBNavigator = class Редактирование и перемещение по записям БД Panel (TCustomPanel) Для создания простейшего приложения, работающего с созданной БД, необходимо поместить на форму соответствующие компоненты и установить их свойства - либо программно, либо выбирая и заполняя поля в окне Инспектора Объектов.