- •Содержание
- •Лабораторная №1 Проектирование структуры базы данных. Нормализация таблиц.
- •Лабораторная №2 Создание серверной части приложения: алиас, файл базы данных, таблицы.
- •Лабораторная работа №3 Визуальное проектирование структуры базы данных.
- •Лабораторная работа № 4 Отображение данных на клиенте.
- •Лабораторная №5 Добавление/редактирование/удаление данных.
- •Лабораторная работа №6 Создание генераторов и триггеров. Каскадные воздействия.
- •Лабораторная №7 Создание и использование хранимых процедур в ibExpert.
- •Лабораторная №8 Сортировка данных. Поиск. Фильтрация.
- •Лабораторная №9 Работа с транзакциями. Кэширование изменений.
- •Лабораторная №10 Обеспечение достоверности данных, исключительные ситуации.
- •Лабораторная №11 Работа с отчетами.
- •Лабораторная №12 Установление привилегий доступа.
Лабораторная работа № 4 Отображение данных на клиенте.
Цель работы: познакомить с принципами отображения данных контейнеров в клиентском приложении, разработанном в среде Borland Delphi 7
Создать обычное VCL-приложение Delphi.
Поместить на форму компоненты из вкладки InterBase — IBDatabase и IBTransaction. Эти компоненты служат для соединения с конейнером(IBDatabase) и проведения танзакций(IBTransaction).
По компоненту IBDatabase формы щелкните два раза левой кнопкой мыши и появившееся окно заполните следующим образом:
В поле Database укажите путь к своему контейнеру InterBase(удобно воспользоваться кнопкой Browse, которая вызовет стандартный диалог Windows выбора файла). Флаг Login Promt отвечает за запрос логина и пароля при подключении к контейнеру(для отладки программы удобнее это отключить).
Затем измените свойство Connected у IBDatabase на значение true (произойдет подключение к контейнеру). В свойстве DefaultTransaction укажите компонент IBTransaction формы.
Компоненту IBTransaction формы в свойстве DefaultDatabase укажите свой IBDatabase. После установите свойство Active в значение true.
Затем установите на форме компоненты IBTable для каждой таблицы в контейнере (или сколько там вам нужно...). Задайте им свойство Database своим IBDatabase. Выберите таблицу в свойстве TableName и установите свойство Active в true.
Для возможности отображения таблиц при помощи компонента DBGrid(из вкладки Data Controls) создайте для каждой таблицы Datasource и укажите им соответствующие IBTable (свойство DataSet). Укажите DBGrid соответствующие Datasource.
В итоге должно получиться примерно следующее:
Примечание: при активировании таблиц возможно не будут отображаться данные в них, ничего в этом страшного нет, но, если после запуска программы они так и не появились, то вы сделали что-то не так ;)
Для связывания таблиц используются свойства MasterSource и MasterFields у компонентов IBTable. В MasterSource подчиненной таблицы указывается Datasource главной таблицы, а в MasterFields поле, по которму производится связывание. Связи таблиц можно установить как и в Object Inspector'е так и написать вручную в коде программы, например для события формы OnShow().
К примеру:
procedure TForm1.FormShow(Sender: TObject);
begin
TLEASE.Active:=false; TOWNER.Active:= false; TREALTY.Active:= false; TRENT.Active:=false;
TRENT.MasterSource := DREALTY; TRENT.MasterFields := 'TYP';
TREALTY.MasterSource := DLEASE; TREALTY.MasterFields := 'ADR';
TOWNER.MasterSource := DLEASE; TOWNER.MasterFields := 'NON';
TLEASE.Active := true; TOWNER.Active := true; TREALTY.Active := true; TRENT.Active:= true;
end;
Перед установкой связей следует деактивировать связываемые таблицы, а после - активировать снова.
Лабораторная №5 Добавление/редактирование/удаление данных.
Ц ель работы: познакомить с принципами формирования и выполнения операций добавления, редактирования и удаления данных.
Для добавление данных откройте нужную таблицу и перейдите на вкладку Data(данные). Для добавления новой записи нужно нажать на кнопку с «+», для удаление - «-», для редактирования выделенной записи - «стрелка вверх». Для применения служит кнопка (после этого добавление записи будет прописано в скрипте).
Для сохранения записей в контейнере(т.е. проведения транзакции) нажмите на кнопку с зеленой галкой(вверху окна, рядом с кнопкой с молнией).
Примечание:
Если в таблице имеются внешние ключи(foreign keys), то следует сначала заполнить таблицы, на которые ссылаются эти ключи.