Главная » Просмотр файлов » ЛР 01-1 1620 (препод)

ЛР 01-1 1620 (препод) (1018812), страница 6

Файл №1018812 ЛР 01-1 1620 (препод) (Лабораторная работа по делфи) 6 страницаЛР 01-1 1620 (препод) (1018812) страница 62017-07-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 6)

а после – OnDestriy

procedure TForm1.FormDestroy(Sender: TObject);

begin

Form1.Tablel.Active:=false;

end;

Теперь в момент создания формы ваше приложение будет соединяться с базой данных, а в момент разрушения формы соединение будет прерываться. В компоненте Tablel следует установить свойство Active в false, чтобы не занимать базу данных в процессе проектирования. Правда, если вы работаете не в сети или если вы единственный пользователь этой базы данных, то это не имеет особого значения.

Откомпилируем и вновь сохраним проект в папке Работа с DBNavigator.

Две связанные таблицы.

Измените название формы на Сделки менеджеров.

Установите на форме второй набор Table , DataSource, DBGrid

Установите TableName – Sd.Dbи у обоих Ефиду – Active – True.

Затем вновь снимите Activ на False

Допишите .обработчики

procedure TForm1.FormCreate(Sender: TObject);

begin

Form1.Table1.Active:=true; Form1.Table2.Active:=true;

end;

procedure TForm1.FormDestroy(Sender: TObject);

begin

Form1.Table1.Active:=false; Form1.Table2.Active:=false;

end;

Установите связь между таблицами, выбрав в Table2 для MasterSource- DataSource1, а в свойстве MasterFields у Available Indexes индексы CodMen

После нажатия на клавишу Add и OK – связь будет установлена.

Оттранслируйте и поработав сохраните в папке Две связанные таблицы.

Вопрос 3 Просмотр таблиц сделок и менеджеров

Создадим программу просмотра таблиц сделок с выдачей списка менеджеров их совершивших.

Изменим свойства MasterSource и MasterFields у таблиц, DataSource у DBNavigator

Свяжем таблицы менеджеров и сделок

Откомпилируем и запустим на выполнение

Поля подстановки. Заполнение таблицы Сделки.

Таблица Сделки – особая. Так как человек не может запомнить и вводить коды, то следует организовать такой же ввод данных, как в Paradox и Access.

Разорвем Master – Detail связь между таблицами

Бросим на форму DBLookUpComboBox, установим следующие свойства

DataField

CodMen

DataSource

DataSource2

KeyField

CodMen

ListField

Fam

ListFieldIndex

10

ListSource

DataSource1

Откомпилируем и выполним.

Теперь, перемещаясь по таблице сделки мы видим фамилию менеджера в таблице Менеджеров и в поле LookUp.

При редакции записи по сделке при выборе фамилии нового менеджера происходить изменение кода менеджера в таблице Сделки.

Таблица менеджеров в данном случае лишняя, она иллюстрирует лишь связь между DBLookUpComboBox и таблицами.

Напишем приложение, позволяющее вводить и редактировать поля таблицы сделки. Изменим название формы на Сделки, введем дополнительные DBLoolUpComboBox и установим их свойства

Откомпилируйте программу, запустите на выполнение, введите записи по сделкам

Не забудьте восстановить обработчики

procedure TForm1.FormCreate(Sender: TObject);

begin

Form1.Table1.Active:=true;

Form1.Table2.Active:=true;

Form1.Table3.Active:=true;

Form1.Table4.Active:=true;

end;

procedure TForm1.FormDestroy(Sender: TObject);

begin

Form1.Table1.Active:=false;

Form1.Table2.Active:=false;

Form1.Table3.Active:=false;

Form1.Table4.Active:=false;

end;

Вопрос 4 Модуль данных

Создадим новый проект и с помощью команды меню File-Close закроем без сохранения автоматически созданную форму Forml в новом проекте.

Добавим в проект модуль данных с помощью операции File-New-Data Modules.

В проекте появится модуль с именем DataModule1.

Перенос в модуль новых компонентов осуществляется щелчком на соответствующей пиктограмме палитры библиотеки компонентов и последующим щелчком в левой панели Проектировщика Модулей Данных или на его странице Components. В результате в дереве и на странице Components появляются соответственно вершина дерева и пиктограмма компонента.

Перетащим с палитры компонент Table в поле Components модуля DataModule1 и изменим у компоненты Table1 ее свойство DataBaseName MelkOpt - название глобального псевдонима, который можно выбрать из выпадающего списка.

Установим TableName в Men.db.

После изменения свойства DataBaseName зададим свойству Active компоненты Table 1 значение True. При выполнении ряда операций свойству Active автоматически задается значение False, поэтому следует контролировать значение данного свойства, чтобы информация из БД отображалась в форме.

Поместим в модуль DataModule1 компоненты для связи с остальными таблицами БД. В. палитре компонент откроем страницу DataAccess (доступ к данным), выделив мышью ее закладку. С этой страницы с помощью мыши перенесем в модуль DataModule1 еще три компоненты Table. Они получат имена Таble2, ТаbleЗ, Table4.

С помощью инспектора объектов для них выберем свойство DataBaseName и установим для него значение MelkOpt, определяющее псевдоним БД. Затем свойству TableName у компоненты Таble2 зададим значение Pok.db, у компоненты ТаbleЗ - Tov.db, у компоненты Таble4 - SD.db.

При выборе элемента в дереве или на странице Components можно получить доступ к любому компоненту или его полю. Для этого нужно выделить в дереве вершину компонента (таблицы или поля). После этого в Инспекторе объектов можно редактировать свойства и события этого компонента.

Чтобы можно было выводить на экран данные из этих таблиц, зададим свойству Active компонент Таbleзначение True.

С той же страницы DataAccess мышью перенесем в модуль DataModule1 компоненты DataSource (источник данных). Они получат имена DataSource1 и DataSource2.

Зададим свойству DataSet компоненты DataSource1 значение Таble1, а компоненты DataSource2 – Таble2 и т д. После этого отображаемые компоненты получат доступ к данным из таблиц БД

Сохраним модуль данных в своей папке с именем Dmod.pas

Перетащим с левой панели названия таблиц на вкладку Data Diagram, выделим каждую таблицу, выполним щелчок правой кнопкой мыши и выберем Fields Editor, далее в редакторе поле после щелчка правой кнопкой мыши выберем Add all Fields.

На странице Data Diagram можно наглядно представить связи между наборами данных и полями. Для этого достаточно перетащить мышью соответствующую вершину из панели дерева в правую панель. Связи между появившимися на панели блоками указываются автоматически. Щелкнув на блоке правой кнопкой мыши можно посмотреть свойства полей, изменить цвет заголовка таблицы, распечатать структуру таблицы.

При щелчке правой кнопкой мыши на пустом месте и выборе Print из выпадающего меню можно распечатать всю диаграмму.

После выбора инструмента Master-Detail нажимаем мышку у поля CodMen таблицы SD.db и протаскиваем до поля поля CodMen таблицы Men.db. После отпускания кнопки мыши в новом окне выбираем поля связи CodMen и нажимаем на кнопку Add, а затем и на ОК.

Устанавливаем так связи между всеми таблицами.

На Data Diagram будут отражены все связи

Создаем новую форму, указываем в Uses название нашего модуля данных Dmod.

Бросаем на форму четыре элемента DBGrid и один DBNavigator. Устанавливаем DataSource DBNavigator и DBGrid на DataModule1.DataSource1(2,3,4).

Откомпилируем проект, запустим на выполнение.

Переключимся на Data Diagram, выделим таблицу SD.DB, щелчком правой кнопки на выделенной таблице вызовем Fields Editor.

В редакторе полей DataModule1.Table4 добавим поля FamM, FamP. Отредактируем их DisplayLabel на Фамилия менеджера, Фамилия покупателя. Установим в False свойства Visible полей CodMen, CodPok.

В Data Diagram с помощью кнопки LookUp установим связь между полем CodTov таблицы Сделки и CodTov таблицы Товары. Отредактируем DisplayLabel на Название Товара. Установим в False свойство Visible поля CodTov.

После установки LookUp связей растащим синие линии, отображающие связи Master - Detail и зеленые линии LookUp-ных связей.

Перетащим с левой панели на панель Data Diagram : Session, Alias, DataSource1, DataSource2, DataSource3, DataSource4.

Расположим более наглядно элементы диаграммы и связи.

Поговорим более подробно о типах связей, отраженных на диаграмме (см. ниже).

На диаграмме можно разместить и отдельные поля. Изображения связей между дочерними и родительскими блоками отображаются на диаграмме автоматически линиями со светлой стрелкой. Удалить их с диаграммы невозможно. Это первый тип связи. Таковы, например, связи между таблицами и их дочерними полями (Pok.Db и CodPok, Fam, Name, City), между Session и Alias, между Alias и таблицами.. Данный тип связи можно установить с помощью Propety.

Характеристики

Тип файла
Документ
Размер
2,93 Mb
Тип материала
Высшее учебное заведение

Список файлов лабораторной работы

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6458
Авторов
на СтудИзбе
304
Средний доход
с одного платного файла
Обучение Подробнее