Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМП по БД 5244.doc
Скачиваний:
148
Добавлен:
09.04.2015
Размер:
3.82 Mб
Скачать

7.2 Создание модуля данных

File- New… - Data Module

Свойства формы

Name: DataModule3

Размещаемые компоненты

Database (закладка Data Access)

Свойства

AliasName: Test (ODBC драйвер)

DatabaseName: db_test (имя БД для компонент)

Params: USER NAME=sa (параметр соединения)

Connected: True (режим соединения )

Query (закладка Data Access )

Свойства

DatabaseName: db_test

Name: Q_for_Work

7.3 Вызов дочерней формы

Выбрать в меню главной формы Ведомость. В редакторе ввести код:

procedure TMain.N1Click(Sender: TObject);

begin

TJ_Ved.Create(Application);

end;

где J_ved - имя вызываемой формы

Аналогично сделать для Меню Студенты, Предметы ,Отчет. Для меню Выход вписать оператор Close.

Скомпилировать проект. Должна открыться главная форма с меню. При выборе элемента меню должна открыться соответствующая форма

7.4 Форма «Студенты»

Данная форма представляет интерфейс к таблице Kadr базы данных

Для работы необходимо подключить используемые модули (File – Use Unit… - FDataModule )

События

OnClose

Action := cafree;

OnShow

Q_Spr.Open;

Размещаемые компоненты

Query (закладка Data Access)

Свойства

Name: Q_spr

DatabaseName: db_test

SQL: select * from Kadr

UpdateObject : UpdateSQL1 (устанавливается после размещения компонента UpdateSQL на фор ме)

CachedUpdated: True

Active: true

UpdateSQL (закладка Data Access)

Свойства

DeleteSql : delete from Kadr where PN = :OLD_PN

InsertSQl : insert into Kadr (PN, FIO, Spec, FO, Gr) values (:PN, :FIO, :Spec, :FO, :Gr)

ModifySQl : update Kadr set PN= :PN, FIO= :FIO, Spec = :Spec, FO = :FO, Gr = :Gr where PN = :OLD_PN

DataSource (закладка Data Access)

Свойства

DataSet: Q_Spr

DBGrid (закладка Data Controls)

PopupMenu: PopupMenu1 (после размещения PopupMenu на форме )

DataSource: DataSource1 (значения из БД должны отразиться в таблице )

Columns: в редакторе выбрать Add All Fields. Для каждой колонки в свойстве Title- Caption указать имя

PopupMenu (закладка стандарт)

Подменю Добавить

Событие OnClick

IF Q_Spr.State in[dsedit,dsinsert] then Q_Spr.Post ;

Q_Spr.Insert; Подменю Редактировать

Событие OnClick

IF Q_Spr.State in[dsedit,dsinsert] then Q_Spr.Post ;

Q_Spr.Edit;

Подменю Удалить

Событие OnClick

IF Q_Spr.State in[dsedit,dsinsert] then Q_Spr.Post ;

Q_Spr.Delete;

Button (закладка стандарт)

Свойства

Caption: Ok

События OnClick

If q_Spr.State in[dsedit,dsinsert] then q_Spr.Post ; // выход из режима редактирования

If q_Spr.UpdatesPending then // если были изменния

Begin

Try // обработчик ошибок

Q_Spr.ApplyUpdates ; // принятие изменений

Except // реакция на ошибку

Showmessage('Нарушена ссылочная целостность!');

Q_Spr.CancelUpdates ; // отмена изменений

Abort ;

end ;

end ;

Close ; // закрытие формы

Button (закладка стандарт)

Свойства

Caption: Отмена

События OnClick

if Q_Spr.UpdatesPending then