Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
все лабы по рубд на ibexpert.doc
Скачиваний:
13
Добавлен:
13.08.2019
Размер:
905.22 Кб
Скачать

Лабораторная работа № 4 Отображение данных на клиенте.

Цель работы: познакомить с принципами отображения данных контейнеров в клиентском приложении, разработанном в среде Borland Delphi 7

  1. Создать обычное VCL-приложение Delphi.

  2. Поместить на форму компоненты из вкладки InterBase — IBDatabase и IBTransaction. Эти компоненты служат для соединения с конейнером(IBDatabase) и проведения танзакций(IBTransaction).

  3. По компоненту IBDatabase формы щелкните два раза левой кнопкой мыши и появившееся окно заполните следующим образом:

В поле Database укажите путь к своему контейнеру InterBase(удобно воспользоваться кнопкой Browse, которая вызовет стандартный диалог Windows выбора файла). Флаг Login Promt отвечает за запрос логина и пароля при подключении к контейнеру(для отладки программы удобнее это отключить).

  1. Затем измените свойство Connected у IBDatabase на значение true (произойдет подключение к контейнеру). В свойстве DefaultTransaction укажите компонент IBTransaction формы.

  2. Компоненту IBTransaction формы в свойстве DefaultDatabase укажите свой IBDatabase. После установите свойство Active в значение true.

  3. Затем установите на форме компоненты IBTable для каждой таблицы в контейнере (или сколько там вам нужно...). Задайте им свойство Database своим IBDatabase. Выберите таблицу в свойстве TableName и установите свойство Active в true.

  4. Для возможности отображения таблиц при помощи компонента 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), то следует сначала заполнить таблицы, на которые ссылаются эти ключи.