
- •Методические указания к курсовой работе
- •Задание
- •Задание на курсовую работу по дисциплине «Технология разработки программных продуктов»
- •Методические указания Проектирование базы данных задачи
- •Работа с программой sql Explorer
- •Работа с программой Desktop
- •Создание визуальной формы программы
- •Комментарий к тексту запроса
- •Обработка событий
- •Результаты
Комментарий к тексту запроса
В первой строке оператора выборки из базы перечисляются имена таблиц и через точку имена полей этих таблиц, которые будут присутствовать в выборке запроса.
Во второй строке формируется вычисляемое поле, которое представляет собой произведение полей Quantity * Price соответствующих таблиц и ему присваивается имя STOIM.
В третьей строке перечисляются таблицы, к которым производится обращение из базы.
Начиная с четвертой строки, записывается сложное условие выборки полей из базы (при равенстве полей Ntour в таблицах Permit, Register и с датами между 1 февраля и 31 марта 2010 года и равенстве полей Ntour таблиц Permit, Tour и равенстве полей Nfirm таблиц Permit, Firma и полем Last_mt = * таблицы Permit. В результате запроса из базы выбираются наименования туров и фирм-контрагентов. В соответствующем интервале дат и для каждого тура формируется вычисляемое поле STOIM в стоимостном выражении тура.
Следующий запрос вычисляет агрегатную функцию суммы вычисляемых полей Quantity * Price и дает этому суммарному полю имя TOTAL.
SELECT Sum(Permit.Quantity * Register.Price) AS TOTAL
FROM Permit, Register
WHERE (Permit. Ntour = Register. Ntour AND Permit.Last_mt BETWEEN
«01.02.10» AND «31.03.10» AND Permit.Last_mt =’*’);
Обработка событий
Объектно-ориентированная технология имеет модульную структуру. Каждый модуль активируется и выполняется при наступлении какого-либо события (вызов пункта меню, нажатие кнопки, активизация компонента и т.д.). Сам модуль, в свою очередь, разбит на процедуры, которые также управляются событиями или вызываются из других процедур. События, которые может генерировать компонент, перечислены на вкладке «события» инспектора объектов при активизации компонента и здесь же можно задать программу обработки любого события. Рассмотрим этот процесс на примере обработки события нажатия кнопки «Расчет». У кнопки мы в нашей задаче задали только одно свойство — название (Caption) и обработку только одного события, наступающего при нажатии кнопки (OnClick). Двойной щелчок мышью в пустой графе напротив названия события вызывает готовую форму программы обработки события, ограниченную операторными скобками begin end, между которыми необходимо ввести текст программы обработки, например для кнопки «ВЫХОД» это оператор Close, который закрывает все открытые файлы и приложения:
Begin
Close;
End.
Код обработки кнопки расчет выделен жирным шрифтом в процедуре обработки события OnClick кнопки «РАСЧЕТ»:
procedure TForml.ButtonlClick(Sender: TObject);
begin
Query 1. Active:=True;
Queryl.Open;
try
While not Queryl.Eof do
begin
Table5.Insert;
Table5.FieldByName(‘Name_tour). AsString:=Queryl.FieldByName(‘Name_tour). AsString;
Table5.FieldByName(‘Date_of_trip’). AsString:=Queryl.FieldByName(‘Date_of_trip’). AsString;
Table5.FieldByName(‘Last_mt).AsString:=Queryl.FieldByName(‘Last_mt).AsString;
Table5.FieldByName{‘ Firma’).AsString:=Queryl.FieldByName(‘Firma’).AsString;
Table5.FieldByName(‘STOIM’).AsInteger:=Queryl.FieldByName(‘STOIM’).AsInteger;
Query1.Next;
end;
except
On EDataBaseError do ShowMessage («Проверьте данные»);
end;
Query2.Active:=True;
Query2.Open;
Editl.Text:=Query2.FieldByName(‘TOTAL).AsString;
end;