Russian Belarusian English German Japanese Ukrainian

Использование модуля данных

CuBook05

При конструировании формы невизуальные компоненты, используемые для доступа к данным, такие как DataSource или Table, размещаются в форме, но при выполнении приложения эти компоненты не видны. Поэтому их можно размещать в любом удобном месте формы, которая для них является контейнером - модулем. Кроме того, для размещения невизуальных компонентов, через которые осуществляется доступ к данным, предназначен специальный объект модуль данных.
 
Есть три типа модулей данных:
  1. Простой модуль данных.
  2. Удаленный модуль данных.
  3. Web-модуль.
Далее рассматривается простой модуль данных, который представлен объектом DataModule. Использование удаленного модуля данных изучается при рассмотрении трехуровневых приложений.
 
Удаленный модуль данных предназначен для работы с удаленными БД в трехуровневой архитектуре «клиент-сервер» и используется для создания сервера приложения промежуточного уровня между приложением и сервером БД.
 
Web-модуль предназначен для работы с БД в сети Интернет и является посредником между обозревателем (программой просмотра Web-документов) и сервером БД.
 
Модуль данных, как и форма, является контейнером для своих невизуальных компонентов, и для него создается модуль кода с расширением срр. Добавление модуля данных к проекту выполняется командой File\New\DataModule главного меню С++ Builder. В окне модуля компоненты размещаются так же, как и в форме. При выборе объекта в окне Инспектора объектов отображаются его свойства, значения которых можно просматривать и изменять.
 
При обращении к содержащимся в модуле данных компонентам для них указывается составное имя, в которое, кроме имени компонента, входит имя модуля данных. Составное имя имеет формат:
<Имя модуля данных>.<Имя компонента>
Далее приводится пример кода, в котором осуществляется обращение к компонентам модуля данных.
void __fastcall TForm1::FormCreate(TObject *Sender)
{
DataModule2->Table1->DatabaseName = "BCDEMOS";
DataModule2->Table1->TableName = "Clients.dbf";
DataModule2->DataSource1->DataSet = DataModule2->Table1;
DBGrid1->DataSource = DataModule2->DataSource1;
DBNavigator1->DataSource = DataModule2->DataSource1;
DataModule2->Tablel->Active = true;
}
Для компонентов устанавливаются значения свойств, связывающих между собой эти компоненты и таблицу БД. Значения свойств устанавливаются динамически в процессе выполнения приложения, для чего использован обработчик события создания главной формы приложения. В составных именах компонентов доступа к данным, которыми являются источник данных DataSource1 и набор данных Table1, указывается имя модуля данных DataModule2.
 
Чтобы обеспечить возможность доступа к компонентам модуля данных в модуле формы, в нем необходимо указать предложение препроцессора, выполняющего подключение модуля данных:
#include "Unit2.h";
Ссылку на другой модуль можно написать самостоятельно, но С++ Builder позволяет вставить ее автоматически. При выборе команды File\lnclude Unit Hdr (Файл\Подключить заголовок модуля) появляется диалоговое окно Use Unit. После выбора нужного модуля и нажатия кнопки ОК соответствующее предложение препроцессора добавляется в модуль формы.
 
Если предложение препроцессора для подключения требуемого модуля отсутствует, но в коде используется имя модуля данных, то при компиляции приложения будет выдано сообщение об ошибке.
 
Помимо компонентов доступа к данным, которыми являются Session, Database, Table, Query, StoredProc, BatchMove и др., в модуле данных можно размещать невизуальные компоненты, не имеющие прямого отношения к БД, например, ImageList, OpenDialog или Timer.
При работе с модулем данных в Палитре компонентов доступны только невизуальные компоненты.
Модуль данных позволяет:
  • отделить управление БД от обработки данных;
  • создать модуль, совместно используемый несколькими приложениями.
Основным назначением модуля данных является централизованное хранение компонентов доступа к данным, а также кода для этих компонентов, в частности обработчиков событий. В модуле данных удобно размещать код, выполняющий управление БД, например, реализацию бизнес-правил.
 
Использование простого модуля данных несколькими приложениями позволяет ускорить разработку приложений, т.к. готовый модуль данных впоследствии можно включать в новые приложения. Кроме того, управление БД через общий модуль дает возможность определить для всех пользователей одинаковые режимы и правила работы с базой, а также делает более простым изменение этих режимов к правил.
 
Однако для небольших приложений использование простого модуля данных не всегда оправданно, т.к. может затруднить, а не облегчить разработку приложения.
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий


Защитный код Обновить