Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Справочники.




Данное меню позволяет пользователю просматривать и редактировать основные таблицы базы данных.

Загрузка таблиц происходит сразу после успешного соединения с базой данных с помощью процедуры AfterConnect модуля данных.

procedure TDataModule1.IBDatabase1AfterConnect (Sender: TObject);

begin

dsRoute.Active := True;

dsClient.Active := True;

dsPass.Active := True;

dsCountry.Active:=True;

dsProfit.Active:=True;

qSumDiscount.Active:=true;

dsHotel.Active:=True;

end;

Каждой таблице главного окна соответствует два компонента в DataModule’е:

TIBDataSet – служит для непосредственного хранения данных, взятых их таблиц базы данных;

TDataSource – служит для обеспечения связи наборов данных с визуальными компонентами Delphi;

Для управления записями в таблицах на форме присутствует компонент TDBNavigator. Он позволяет добавлять, удалять или изменять записи в таблицах, а также перемещаться по записям.

Для обеспечения этих функций со стороны базы данных для каждого набора данных были написаны запросы на поддержание целостности базы данных (тесты запросов см. Приложение).

На вкладке «Справочник стран» предусмотрена такая функция как расчет средней стоимости маршрута в выбранную страну. Для этого из главной формы вызывается процедура модуля данных SrCost.

//процедура главной формы

procedure TForm2.dbedSrCostChange(Sender: TObject);

begin

DataModule1.SrCost(lcbCountry.text);

end;

 

//процедура модуля данных

procedure TDataModule1.SrCost(countryname:string);

begin

qSrCost.Active:=False;

qSrCost.ParamByName ('CountryName').AsString:=countryname;

DataModule1.qSrCost.Active:=True;

end;

Код SQL-запроса:

select avg(PRICE)

from ROUTE inner join Country on route.countrycode=country.countrycode

where Name=:CountryName

Результат выполнения запроса:


mylektsii.ru - Мои Лекции - 2015-2019 год. (0.011 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал