Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Топ:
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Интересное:
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Дисциплины:
2022-12-30 | 31 |
5.00
из
|
Заказать работу |
|
|
В качестве примера использования связи один ко многим создадим форму, которая позволяет по выделенному поставщику найти его поставки. По выделенной поставке увидеть наименование сырья по данной записи.
Технология выполнения:
1) Данная форма будет отображать сведения из четырех таблиц (поставщик. Поставки, сырье, вид сырья).
2) В модуль DateBD добавляем 4 пары элементов связи с БД.
Для таблицы Поставщик:
ADOTable:
Name ADOPostavchik_3
Connection – kombinat
Tablename – postavchik
Active – true
DataSource:
Name – DataPostavchik_3
DataSet – ADOPostavchik_3
ADOSirye_3 – DataSirye_3
ADOVidSirye_3 – DataVidSirye_3
ADOPostavka_3 – DataPostavka_3
Редактируем поля в компонентах АДО. При редактировании полей внешние ключи остались видимыми
3) Создаем форму
UnitPostavka
Caption – Журнал учета поставки сырья
Position – posonly
Name – поставка сырья
Form – FormPostavka
Formstyle
Project option
Onclose
4) На форме отобразить трри элемента DBGrid, отображающие «поставщики», «поставки сырья», «сырье»
5) Для организации связи между таблицами DBGrid на форме необходимо выйти в модуль DateBD и для родительских таблиц установить свойства:
ADOPostavka_3:
Master source – datapostavchik_3
Master fields - … - в появившемся окне выделить слева и справа поля id_post – добавить – ok
ADOSirye_3:
Master source – datapostavka_3
Master fields – id_sur
Создание связанного списка в DBGrid
При необходимости можно создать раскрывающийся список в DBGrid, который будет отображать сведения из родительской таблицы по отношению к таблице, отображаемой в DBGrid (аналогично dblookupcombobox). Для этого используются lookup поля. Такое поле хранит в себе текстовое значение из родительской таблицы, а в дочернюю таблицу передается значение ключевого поля родительской таблицы.
Для создания lookup поля создаем новое поле в дочерней таблице. Переходим в DateBD. В модуле DateBD выделить компонент ADOSirye_3 и в редакторе добавить новое поле.
|
Name - vidsirye
Component – adosirye_3surie
Type - stringLookup – галочка
Key field – id_vid
Adosiryevid_3
Id_vid_sur
Name
И переименовываем в displaylabel – вид сырья
SQL-запросы
Большинство систем управления БД позволяют произвести выборку нужной информации путем выполнения запросов. Для выполнения операции над данными с помощью оператора языка SQL предназначен компонент ADOQuery. Данный компонент позволяет получить в виде набора записей данные из нескольких таблиц. Данные, отображаемые через ADOQuery, нельзя редактировать.
Основные свойства ADOQuery:
· Active
· Params – другой параметр
· SQL – текст простейшего запроса
· RequestLive – создание «живого» запроса
Основные методы ADOQuery:
· Open – открытие
· Close - закрытие
· Refresh – обновление данных
· ExecSQL
В общем виде запрос на выборку из таблиц данных выглядит так:
Select список полей
From таблица (таблицы)
Where (критерий)
Order by список полей
Пример: Создать форму, содержащую таблицу DBGrid, которая содержит сведения о поставщиках, его поставках сырья. Поиск производится по введенной фамилии.
1) Создать форму
Unit OtborPostavki
Formstyle
Caption
Name
Onclose
Position
Project – option
2) Добавляем в главное меню
Правее журналов – Поиск
да
3) Для организации запроса в модуль DateBD добавить компонент ADOQuery, для общей видимости запроса.
Установить свойства:
Name - ADOQueryPostavka
Connection – kombinat
Data source – adopostavchik
Sql - … - select*from postavchik – ok
Active – true
DataSource:
Name – adoquerypostavka
Dataset – adoquerypostavka
4) Интерфейс
DBGrid1
Datasource – ADOQueryPostavka
Edit1
Buttom «Поиск по фамилии» «Сброс» «Закрыть»
5) Для правильной организации SQL-запроса необходимо ориентироваться на схему Базы Данных.
6) Обработка кнопки «Поиск по фамилии»:
DateBD.ADOQueryPostavka.Active:=false;
DateBD.ADOQueryPostavka.SQL.Clear;
DateBD.ADOQueryPostavka.SQL.Add (‘select postavchik.fam, postavchik.name, surie.name, postavka.data_post, postavka.kolvo’);
dateBD.ADOQueryPostavka.SQL.Add (‘from postavchik, sirye, postavka’);
DateBD.ADOQueryPostavka.SQL.Add (‘where postavchik.id_post=postavka.id_post and postavka.id_sur=sirye.id_sur and postavchik.fam like ‘’’+edit1.text+’’’’);
dateBD.ADOQueryPostavka.Active:=true;
|
7) Кнопка сброса:
Копируем кнопку поиска и удаляем в скобках все, кроме первого слова, и строчку where удалить from postavchik
DateBD.ADOQueryPostavka.Active:=false;
DateBD.ADOQueryPostavka.SQL.Clear;
DateBD.ADOQueryPostavka.SQL.Add (‘select’);
dateBD.ADOQueryPostavka.SQL.Add (‘from postavchik’);
dateBD.ADOQueryPostavka.Active:=true;
Сложные запросы
Создать форму, содержащую списки поиска, позволяющие по выбранному наименованию сырья найти необходимую информацию о изготовлении из сырья товаров и продажи товара клиенту.
Создаем форму:
Unit – unitotbormain
Caption – сложные запросы
Name – formotbormain
Formstyle, position, onclose, project, use unit.
Добавляем форму в меню к запросам, «Сложные запросы».
Интерфейс:
Label поиск по товару dblookupcombobox1 buttom поиск buttom сброс
Label поиск по чырью dblookupcombobox2 buttom поиск buttom закрыть
-- -- -- -- -- -- -- -- -- -- --
DBGrid
Dblookupcombobox1 свойства: dblooupcombobox2 свойства:
List source – datatovar_2 list source – datasyrie_1
List field – name list field - name
Key fiekd – id_tov key field – id_sur
Data source – prodaga data source - izgotovlenie
Data field – id_tov data field – id_sur
Возвращаемся в меню, устанавливаем программным путем восстановление размеров формы при запуске. Для этого после строчки application…. Прописываем:
Formotbormain.height:=число;
Formotbormain.width:=число;
На форму добавить компоненты создания запросов.
AdOQuery:
Name – adoquerymain
Connection – kombinat
Datesource – prodaga
Sql – select*from prodaga
Active - true;
Date source:
Name – datequerymain
Data set – adoquerymain
Обработка кнопки «Поиск1»:
Formotbormain.height:=новоечисло;
Formotbormain.width:=новоечисло;
ADOQuerymain.Active:=falce;
ADOQuerymain.SQL.Clear;
ADOQuerymain.SQL.Add (‘select tovar.name, prodaga.data_prod, prodaga.kolvo, klient.fam’);
ADOQuerymain.SQL.Add (‘from Tovar, prodaga, klient’);
ADOQuerymain.SQL.Add (‘where Tovar.id_tov=prodaga.id_tov and klien.id_klient=prodaga.id_klient Tovar.name like ‘’’+dblookupcombobox1.text+’’’’);
ADOQuerymain.Active:=true;
Вывод запроса производим в dbgrid, раскрывающейся внизу
Dbrid data source – datequerymain
Обработка копки «Сброс»:
Formotbormain.height:=староечисло;
Formotbormain.width:=староечисло;
ADOQuerymain.Active:=falce;
ADOQuerymain.SQL.Clear;
ADOQuerymain.SQL.Add (‘select’);
ADOQuerymain.SQL.Add (‘from Tovar’);
ADOQuerymain.Active:=true;
Обработка кнопки «Поиск2»:
Formotbormain.height:=новоечисло;
Formotbormain.width:=новоечисло;
ADOQuerymain.Active:=falce;
|
ADOQuerymain.SQL.Clear;
ADOQuerymain.SQL.Add (‘select sirye.name, izgotovlenie.data_izg, izgotovlenie.kolvo, Tovar.name’);
ADOQuerymain.SQL.Add (‘from Tovar, sirye, izgotovlenie’);
ADOQuerymain.SQL.Add (‘where Tovar.id_tov=izgotovlenie.id_tov and sirye.id_sur=izgotovlenie.id_sur and sirye.name like ‘’’+dblookupcombobox2.text+’’’’);
ADOQuerymain.Active:=true;
|
|
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!