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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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

If MessageDlg('Несохраненные данные будут потеряны. Закрыть? ',

mtConfirmation, [mbYes, mbNo], 0) = mrYes then

Q_Spr.CancelUpdates;

Close;

Скомпилируйте проект, откройте справочник Студенты и попробуйте ввести, отредактировать, удалить информацию из справочника.

Аналогично сделайте самостоятельно справочник Предметы.

 

 

7.5 Форма Журнал (J_Ved)

 

События OnActivate

Q_J_Ved.Close;

Q_J_Ved.Open;

 

 

Query

Свойства SQL:

select distinct N_G, Date_g,

Predmet = isnull((select Predmet from Predmet as v2 where v2.Num_pred = v1.Num_Pred),''),

Gr = (select v2.Gr from Kadr as v2 where v1.PN= v2.PN)

From ved as v1

 

Добавить

Событие OnClick: TVed.Create(Application);

Удалить

Событие OnClick

with DataModule3.Q_for_Work do

Begin

sql.Clear;

sql.add('set dateformat dmy Delete from Ved where N_G = '

+ Q_J_Ved.FieldbyName('N_G').AsString+' and Date_G = '

+ QuotedStr(Q_J_Ved.FieldbyName('Date_g').AsString));

ExecSQL;

Q_J_Ved.Close;

Q_J_Ved.Open;

end;

7.6 Форма Ведомость (Ved)

 

Событие OnActivate: DT_Date_G.date:= Now;

 

Компоненты

ComboBox (Cb_Predmet), ComboBox (CB_GR)

Событие OnDropDown (ссылка обоих объектов на одно событие)

var Str: string;

Begin

if (Sender as TComboBox).Name = 'CB_Predmet' then

Str:= 'select distinct Predmet from Predmet';

if (Sender as TComboBox).Name = 'CB_Gr' then

Str:= 'select distinct Gr from Kadr';

(Sender as TComboBox).Items.Clear;

with DataModule3.Q_for_Work do

Begin

sql.Clear;

sql.add(Str);

Open;

If not IsEmpty then

Begin

First;

While not eof do

Begin

(Sender as TComboBox).Items.add(fields[0].AsString);

Next;

end;

End

end;

end;

UpdateSql

Свойство ModifySql

Update ved

Set

Mark =:Mark

Where

NzapVed =:OLD_NzapVed

Query (Q_Ved)

Свойство SQL:



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 135; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.36.10 (0.006 с.)