Лабораторные работы (в ХГТУ) (Lab3)

Посмотреть архив целиком

Министерство Образования Российской Федерации
Хабаровский Государственный Технический Университет





Кафедра: “Программного обеспечения ВТ и АС”









Лабораторная работа №3



Тема: “ Проектирование экранной формы электронного

аналога исходного документа ”









Выполнил:

студент группы ПО-02

Самойленко П.Р.

Проверил:

к.т.н., доцент

Саринков А.А.





Хабаровск 2002



Вид формы ввода

Для соединения всех основных таблиц воедино используется таблица SVOD. Для установления связи между таблицами используем компоненты TTable и Tquery. А точнее – их свойства MasterSource.

Вид формы работающего приложения:


В первых трех таблицах выбирается предмет и специальность, для которых надо вывести рекомендуемую литературу. Таблица «Предмет» связана с таблицей цикл «Цикл» связью многие к одному.

При смене положения указателя в первых трех таблицах запускается процедура zapr – для обновления данных в таблицах «Книги» и «Авторы книг» через компоненты Query.

Процедура zapr.

procedure tsvaz.zapr;

var

i:integer;

begin

cislo:=0;

with querysvod do begin

Close;

parambyname('spec').Value:=table4.fieldbyname('KOD').AsInteger;

parambyname('dis').Value:=table5.fieldbyname('KOD').AsInteger;

Open;

AfterScroll(QuerySvod);

first;

for i:=1 to recordcount do begin

cislo:=cislo+querySvod.fieldbyname('KOLICH').value;

label7.Caption:=floattostr(cislo);

next;

end;

end;

end;


Данная функция задает значения параметрам компонента querysvod, который связан с таблицей «Книги».

Потом подсчитывается количество требуемых книг и выводится на поверхность формы с помощью компонента Label7. Сумма рассчитывается последовательным перебором записей querysvod.

Также в теле данной процедуры вызывается процедура AfterScroll(QuerySvod):

procedure TSvaz.QuerySvodAfterScroll(DataSet: TDataSet);

begin

query1.Close;

query1.Params[0].Value:=querySvod.FieldByName('KOD').AsInteger;

query1.Open;

end;

Тут задается значение параметру компонента query1 – для обновления записей в таблице «Список авторов».

SQL запросы.

Текст запроса компонента querySvod:

select * from knigi

where kod in(

select KKnig from recomend

where kdisc=:dis and kspec=:spec

)

order by NAZV

выбирает из таблицы knigi.db все поля, где значения kdisc и kspec – берутся из верних таблиц. Результаты запроса отображаются в таблице «Книги».

Текст запроса компонента Query1:

select *

from AVTOR

where kod in(

select kavt

from SOOTV

where kknig=:par )

order by FIO

через таблицу SOOTV идет связь книг с авторами и авторы данной книги отображаются в книге «Список авторов».



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






Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.