Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Установка связей между компонентами и БД. Создание меню.
Теперь разместив на форме диалога компонент Menu с палитры компонентов Стандарт, сформируем простое меню, задавая названия пунктов меню свойству Items. Для Поиск – подменю: SQL и фильтрация, для Сортировка – по фамилии, по наименованию дисциплин и пункт Выход. Обратите внимание на порядок задания имен, в свойстве Name каждого пункта будет отображен этот номер. Модуль пункта меню Выход будет самым информативным: Close();
Предыдущие приложения (л/р№1, 2) разрабатывались для ведения данных одной таблицы. Здесь же, одна из связанных таблиц является головной (master, таблица stud), а другая вспомогательной, детализирующей (detail, таблица ozen). Итак, разместив в окне 2 комплекта Table, DataSource и средства отображения данных DBGrid, зададим их цепочку связи, которую можно представить схемой (рис.6). Связь с БД устанавливается в итоге значением true свойства Active. Для связи в форме этих таблиц, временно разорвем связь, указав для вспомогательной таблицы ozen значение false для свойства Active. Рис. 5 Форма диалога приложения БД Рис. 6 Схема взаимодействия компонентов Delphi с БД. Далее в свойстве MasterSource компонента Table, настроенного на вспомогательную таблицу, установите имя головной таблицы. После этого щелкните на свойстве MasterFields. Откроется окно редактора связей полей (Field Link Designer). Индексировать таблицу надо так, чтобы индекс включал ключевое поле связи Zach. После этого можете восстанавливать связь с БД (Active=true) и запустить приложение. Теперь немного об удобстве вода данных в форму. Для полей просмотра в DBGrid можно в свойстве Columns задать значение свойства ButtonStyle поля равным cbsAuto и тогда при редактировании данных автоматически будет появляться выпадающий список, из которого пользователь может выбирать соответствующее значение (например, для поля group). На форму можно добавить кнопки Добавить, Удалить, Сохранить, Отменить с соответствующими обработчиками событий: Table1.Append; \\ метод, добавляющий новую запись в БД Table1.DeleteRecords(arCurrent); \\ удаление записи, на которой стоит курсор текущей записи Table1.Post; \\ сохранение изменений в БД Table1.Cancel; \\отмена действий пользователя
Для корректного удаления записи, можно предварительно уточнить требование у пользователя:
If (Application.MessageDlg ( “Действительно хотите удалить запись?”, “Подтвердите удаление записи”, MB_YESNO + MB_ICONQUESTION) = IDYES) then Table1.Delete;
который после положительного ответа на вопрос программы удаляет текущую запись.
Поиск данных. Одна из важнейших для пользователя операций с БД – поиск записей по некоторому ключу. Для их применения таблица должна быть предварительно проиндексирована по этому полю. В работе мы рассмотрим только фильтрацию записей (Filter для компонента Table)и применение запросов к БД при помощи компонента Query. a) Компонент Table позволяет не только отображать, редактировать и упорядочивать данные, но и фильтровать записи по определенным критериям. Фильтрация задается свойствами Filter, Filtered и FilterOptions компонента Table. Для отображения отфильтрованных записей по вами заданному критерию, добавим на Form1 надпись и текстовой поле, установив предварительно их свойства Visible в состояние false. А пункту меню Фильтрация назначим функцию: Begin Label1.Visible:=true; Edit1.Visible:=true; if (Edit1.Text<>’’) then begin Table1.Filtered:=false; Table1.Filter:=’group=’+Edit1.Text; Table1.Filtered:=true; End else ShowMessage("Укажите номер группы!!!"); end;
б) Основное свойство Query – SQL, имеющее тип Tstrings. Это список строк, содержащих запросы SQL. Создайте для этого новую форму (рис. 7) с модулем Unit2. Пропишите в unit ее заголовок (как мы это уже делали в л/р№2) и назначьте вызов для пункта меню SQL: Form2.Show; Перенесите на форму компоненты Query1 (вместо Table1), DataSource1, DBGrid1 и соедините их обычной цепочкой: в DBGrid1 задайте свойство DataSource равным DataSource1, а в DataSource1 задайте свойство DataSet равным Query1. Компонент Query1 настройте на таблицу ozen. Для этого установите свойство DataBaseName на псевдоним qwerty, а в свойстве SQL напишите оператор: select * from ozen.
Рис. 7. Форма SQL-запросов к БД.
Чтобы вы могли самостоятельно формировать произвольные запросы, перенесите на форму обычное (не db) поле Memo и кнопку Выполнить, для которой можно задать функцию: Begin if (Query1.Active=true) then Query1.Close; Query1.SQL.Clear; Query1.SQL.AddStrings(Memo1.Lines); Query1.ExecSQL; end; Сохраните все операции и запустите приложение с различными видами запросов на выборку, на добавление, на удаление, на обновление.
6. Контрольные вопросы 1. Организация ссылочной целостности. 2. Формирование индексных полей (первичных, вторичных, внешних). 3. Понятие псевдонимов БД. 4. Методы, обеспечивающие последовательный поиск данных и фильтрацию (на примере SQL-запросов). 5. Создание пользовательского меню.
Требования к отчёту Отчёт оформляется на листах формата А4, на титульном листе указывается название работы, дисциплина, студент, выполнивший работу и преподаватель, принявший отчет. Отчёт должен включать в себя следующие пункты: 1. Постановка задачи (формулировка задания). 2. Таблица параметров связей, таблица характеристик индексов. 3. Структура базы данных с определением типа связи. 4. Листинги всех программных модулей, заголовочных файлов и файлов форм в текстовом виде (осуществляется выбором опции view as text из контекстного меню формы).
ЛАБОРАТОРНАЯ РАБОТА №4
|
||||||||||||
Последнее изменение этой страницы: 2017-01-25; просмотров: 149; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.0.240 (0.008 с.) |