На этом шаге мы рассмотрим алгоритм создания приложения, работающего с удаленной базой данных.
Запускаем Delphi. Модуль сохраняем в рабочую папку под именем Unit1. Приложение - под именем Project1.
Создаем новый контейнер DataModule, выполнив пункт меню File | New | DataModule. Назовем его DM, а модуль - Unit2.
Поместим в DataModule компоненты IBDatabase1 и IBTransaction1 с вкладки InterBase (рисунок 1).
Рис.1. Модуль DataModule
Компонент IBDatabase1 отвечает за связь с базой данных, а компонент IBTransaction1 - за работу всех транзакций для связанной с ним базой данных, поэтому в свойстве DefaultDatabase компонента IBTransaction устанавливаем значение IBDatabase1. Напомним, что транзакции предназначены для корректного изменения данных в базе.
Для компонента IBDatabase1 устанавливаем следующие свойства:
USER_NAME=SYSDBA PASSWORD=masterkey
Поместим на форму Form1 компонент TMainMenu. Щелкаем по нему два раза и создаем пункты меню: Cправочники, Товары, Организации.
Создаем новую форму Form2. В свойство Caption поместим строку Справочник - товары. Сохраняем под именем Unit3.
Поместим на Form2 компоненты TDBGrid, TDBNavigator, два компонента TButton, TIBQuery, TDataSource (рисунок 2).
Рис.2. Внешний вид формы Справочник - товары
Для компонента TDBNavigator свойство VisibleButtons имеет следующий вид (рисунок 3):
Рис.3. Свойство VisibleButtons компонента TDBNavigator
Свойство DataSet компонента TDataSource устанавливаем в IBQuery1.
В свойство DataSource компонентов TDBGrid и TDBNavigator помещаем значение DataSource1.
Выбираем пункт меню File | Use Unit.... В появившемся окне выбираем Unit1 и нажимаем ОК. Это нужно для подключения компонента IBQuery1 к компоненту TIBDatabase.
В свойстве Database компонента IBQuery1 задаем значение DM.IBDatabase1.
Теперь заходим в свойство SQL этого же компонента и пишем в окне Command Text Editor следующий запрос (рисунок 4):
Рис.4. SQL-запрос
Щелкаем два раза по компонету IBQuery1. Появится окно, в котором должны отображаться поля. Щелкаем правой кнопкой мыши по появившемуся окошку и в появившемся контекстно-зависимом меню выбираем пунк Add all fields (рисунок 5).
Рис.5. Добавление всех полей
После этого действия окошко примет следующий вид:
Рис.6. Добавлены все поля
Изменим свойства некоторых полей. Выбираем поле TOVARID и в Инспекторе объектов устанавливаем свойство Visible в False. Теперь это поле не будет отображаться в компоненте TDBGrid во время работы с программой.
Выбираем пункт меню Project | Option и в полявившемся окне переключаемся на вкладку Forms. И с помощью стрелочек переносим форму Form2 в правую половину окна, сообщая, таким образом, Delphi, что во время работы программы мы будет сами следить за созданием этой формы и ее удалением.
Делаем активной форму Form1 и для пункта меню Справочники | Товар пишем код. Но предварительно надо подключить модуль формы Form2 (модуль Unit3); это делается с помощью пункта меню File | Use Unit....
Вот текст обработчика события выбора пункта меню Справочники | Товар:
Form2:=TForm2.Create(self); //Создаем форму Form2.IBQuery1.Open; //Открываем набор данных Form2.ShowModal; //Отображаем форму на экране
На следующем шаге мы продолжим создавать приложение.