Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Занятие 4. Разработка главной формы программы




Главная форма приложения, как правило, предназначается для выполнения основной задачи пользователя. В нашем случае это создание накладной и перечня продаваемых товаров для определенного покупателя, включая подсчет общей стоимости проданных товаров.

1. Для решения этой задачи разместим:

a. в модуле данных DM:

- компонент TZTable (Name = Nakladn; TableName = NAKL; MasterSource = DSPokup; MasterFields = IDPOKUP; LinkedFields = IDPOKUP),

- два компонента TDataSource с именами DSNakl и DSOtpusk;

- компоненты TZQuery (Name=Otpusk) и TZUpdateSQL (Name=OtpUpdSQL)

b. на форме следующие компоненты:

- компонент TDBText (DataSource=DM.DSPokup; dataField = POKUPNAME).

- компонент TDBNavigator (DataSource=DM.DSPokup)

- два компонента DBGrid и соответствующие им два TDBNavigator, задав им свойства DataSource = DM.DSNakl и DataSource = DM.DSOtpusk соответственно.

Таблицу Nakladn подключите как дочернюю к таблице Pokupatel.

В компоненте TZQuery свойство TableName отсутствует, зато есть два важных свойства – SQL и UpdateObject.

2. Раскройте выпадающий список свойства UpdateObject и выберите OtpUpdSQL.

В этом случае данные ZQuery можно будет редактировать. Если же свойство UpdateObject не определено (UpdateObject:= null), то данные ZQuery можно будет только читать.

Значение свойства SQL типа TStrings задается в редакторе многострочного текста, как показано на рис. 18:

Рисунок 18. SQL – оператор выборки данных компонента ZQuery

3. Введите текст SQL – запроса, как показано на рис. 18

 

Обратите внимание на фрагмент SQL – оператора:

where NAKLNOM =: NAKLNOM

Вводя в текст запроса:NAKLNOM мы создали параметр с именем NAKLNOM, свойства которого нужно отредактировать в Object Inspector (рис. 19).

4. Задайте свойства DataType=ftInteger, ParamType=ptInput, Size=4 параметра NAKLNOM так, как показано на рис.

Внимание: между двоеточием и именем параметра пробелов нет.

Если имя параметра (NAKLNOM) совпадает с именем поля в составе первичного ключа компонента родительской таблицы, то реализуется связь Master – Detail, такая же, как в случае компонент TZTable. Однако возможно создавать и другие, дополнительные параметры, значения которых задаются программно перед активизацией TZQuery.

Чтобы сделать TZQuery Otpusk редактируемым набором, нужно задать его свойства InsertSQL, ModifySQL, DeleteSQL и RefreshSQL. Если текст SQL – запроса в компоненте TZQuery Otpusk, то:

5. Выделите в модуле DM компонент TZUpdateSQL OtpUpdSQL и щелчком правой кнопки мыши вызовите контекстное меню, в котором выберите UpdateSQL Editor. Окно диалога приведено на рисунке:

Рисунок 20. Диалог построения DML – операторов компонента ZUpdateSQL

В таблице OTPUSK первичный ключ состоит из двух полей: IDTOV и NAKLNOM. Выделите их в списке Key Fields, а в Update Fields – все поля таблицы. Нажмите кнопку "Generate SQL". Конструктор генерирует соответствующие SQL – операторы для вставки, изменения и удаления данных, которые приведены на рис. 21:

Рисунок 21. Созданные в диалоге компонента ZUpdateSQL
операторы вставки, изменения, удаления и обновления данных

Сохраните проект, а затем запустите на выполнение. Теперь Вы можете вводить новые, редактировать и удалять записи в таблицах NAKL и OTPUSK базы данных, как показано на рис. 22:

Рисунок 22. Создание новой накладной и отпуск товаров в окне приложения

 

 

Приложение 1. Дополнительные данные для ввода в БД:

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

 

Накладная № 124
Дата Покупатель: Адрес
10.02.2002 ООО "Алла" Г. Одесса, ул. Пушкинская,35, тел. 23-71-63
товар количество ед. измер. цена стоимость, грн.
Тушенка   банок 4,78  
Сахар   кг 3,15  
Макароны   кг 1,40  
Пепси-кола   банка 1,67 133,6
Печенье   кг 5,15 51,5
      Итого 732,1

 

Накладная № 125
Дата Покупатель: Адрес
14.02.2002 ТОО "Геракл" Г. Одесса, ул. Терешковой, 25, тел. 68-77-86
товар количество ед измер. цена стоимость, грн.
Тушенка   банок 4,78 382,4
Сахар   кг 3,15  
Макароны   кг 1,40  
Пепси-кола   банка 1,67 350,7
Печенье   кг 5,15 257,5
      Итого 1634,6

 

Накладная № 126
Дата Покупатель: Адрес
15.02.2002 ООО "Алла" Г. Одесса, ул. Пушкинская,35, тел. 23-71-63
товар количество ед измер. цена стоимость, грн.
Тушенка   банок 4,78 382,4
Сахар   кг 3,15  
Макароны   кг 1,40  
Пепси-кола   банка 1,67  
Печенье   кг 5,15 257,5
      Итого 1205,9

 

Накладная № 127
Дата Покупатель: Адрес
16.02.2002 ЧП "Никита" Г. Южный, ул. Средняя, 45, тел. 46-87-883
товар количество ед измер. цена стоимость, грн.
Тушенка   банок 4,78 573,6
Сахар   кг 3,25  
Макароны   кг 1,40  
Конфеты   кг 8,75  
Печенье   кг 5,80  
      Итого 1600,6

 

Накладная № 128
Дата Покупатель: Адрес
16.02.2002 ЧП "Никита" Г. Южный, ул. Средняя, 45, тел. 46-87-883
товар количество ед. измер. цена стоимость, грн.
Сардины в масле   банки 3,78 453,6
Крупа гречневая   кг 3,25  
Макароны   кг 1,40  
Красный мак   кг 8,75  
Вода Куяльник   бутылки 1,80  
      Итого 1220,6

 


Литература:

1. Меркт Р.В., Рублев И.С., Кутяков Д. В. Реляционные базы данных. ER - модели баз данных. Учебное пособие к лабораторным работам. ОНМУ, 2008

2. Рублев И.С., Кутяков Д. В. Реляционные базы данных. СУБД InterBase. Методические указания к лабораторным работам. ОНМУ, 2008

3. Рублев И.С., Кутяков Д. В. Распределенные и сосредоточенные СУБД. Конспект лекций. ОНМУ, 2005

 

 





Поделиться с друзьями:


Дата добавления: 2016-12-07; Мы поможем в написании ваших работ!; просмотров: 478 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Самообман может довести до саморазрушения. © Неизвестно
==> читать все изречения...

2538 - | 2391 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.