Лабораторные работы (в ХГТУ)
Вид формы ввода
Для соединения всех основных таблиц воедино
используется таблица 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
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
)
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 идет связь книг с авторами и авторы данной
книги отображаются в книге «Список авторов».
Таким образом в данной форме отображаются все данные,
которые были в печатном документе.