III. Самостоятельная работа
II. Выполнение задания по инструкции
I. Теоретическая часть
Вставка изображений в БД.
1. Запустите программу на исполнение.
2. Откройте изображение Папа.gif в графическом редакторе Paint (см. в папке «Приложение к ПР_2»).
3. Выберите пункт в меню Правка --> Выделить всё.
4. Далее нажмите сочетание клавиш Ctr+С.
5. Теперь перейдите на окно работающего приложения и щёлкните в компоненте
DBImage1 мышкой.
6. Далее нажмите сочетание клавиш Ctr+V. Теперь картинка вставилась в поле для изображения.
7. Аналогично добавьте остальные изображения в БД.
Как вы заметили, из работающего приложения, в режиме формы можно видеть только одну запись, а в режиме таблицы – несколько записей одновременно. Довольно часто эти два режима комбинируют. Краткая информация (содержимое некоторых ключевых полей) выводится в режиме формы, а при необходимости видеть содержимое всех полей записи – выполняется переключение в режим таблицы.
Практическая работа 3. Тема: Компоненты синхронного просмотра.
Цели:
1Изучить компоненты синхронного просмотра;
2На практическом примере научиться создавать многотабличные БД;
3Развивать навыки самостоятельной работы.
Ход работы:
Специально для отображения связанной информации в БД, имеются 2 компонента, предназначенных именно для этих целей. Это компоненты DBLookupComboBox и DBLookupListBox. Оба они, хотя визуально и похожи на комбинированный и обычный списки, на самом деле, не являются потомками ни стандартных, ни БД-ориентированных компонентов, а происходят от общего для них класса TDBLookupControl, инкапсулирующего как список значений для просмотра, так и его механизм.
Фактически, здесь следует запомнить лишь следующее: то, что отображается в самом компоненте синхронного просмотра (в обычном или в ниспадающем списке), задается парой значений для ListSource и ListField, а то, на основании чего происходит выборка текущего значения – в DataSource и DataField.
Связывание данных в таблицах
Важной особенностью работы с БД является связывание данных в таблицах. И хотя такое связывание осуществляется невизуальным компонентом Table, наглядно продемонстрировать связывание можно лишь с использованием компонентов, отображающих данные таблиц, т.е. с использованием, например, компонента DBGrid.
Очевидно, что для связывания данных между таблицами нам нужно иметь более одной таблицы. Рассмотрим технологию создания многотабличной БД на примере базы данных «Знаки Зодиака».
1. На диске D: в своей рабочей папке создайте новую папку с именем Знаки Зодиака.
2. Откройте утилиту BDE Administrator и создайте псеводим к этой папке под названием
Goroskop.
3. Откройте утилиту Database Desktop и создайте две таблицы:
Обратите внимание, что при создании таблиц, в обоих случаях поле Data должно быть ключевым.
Первую таблицу назвать 1.db
Второй талице дать имя 2.db
Информацию для заполнения таблиц смотрите в папке
Приложение к ПР_3
в документе Знаки_Зодиака.doc
4.Теперь откройтеDelphiи разместите на форме следующие компоненты:
Для таблицы 1.db
Table1
DataSource1
DBLookupComboBox1 (находится на вкладке Data Controls)
Для таблицы 2.db
Table2
DataSource2
DBEdit1
DBMemo1
DBImage1
5.Настройте свойства компонентов в указанном порядке
Table1.DatabaseMame – Goroskop
Table1.TableName – 1.db
DataSource1.DataSet - Table1
Table2.DatabaseMame – Goroskop
Table2.TableName – 2.db
DataSource2.DataSet – Table2
Table2.MasterSourse – DataSource1
(!) Table2.MasterFields – Data – чтобы установить данное свойство нужно напротив свойства MasterFields для компонента Table2 щёлкнуть по кнопке.
В появившемся окне выбрать во вкладке Available Index значение Primary. В полях DetailFields и Master Fields выбрать Data и нажать кнопку Add. Далее Ок. Так вы свяжите две таблицы 1.db и 2.db.
Data Data
Znaki
Настраиваем оставшиеся компоненты: DBEdit1.DataSource – DataSource2 DBEdit1.DataField – Znak DBMemo1. DataSource –DataSource2 DBMemo1.DataField – Harakterist DBImage1. DataSource – DataSource2 DBImage1.DataField – Image
Новый компонент, с которым вы сегодня познакомитесь DBLookupComboBox1. Установим для него свойства:
DBLookupComboBox1.ListSource – DataSource1
DBLookupComboBox1.ListFields – Data
DBLookupComboBox1.KeyFields – Data
ListField –что именно необходимо отображать в списке;
KeyField –ключевое поле.
Рис. 1.Окно рабочего приложения«Знаки Зодиака»
Задание:Напишите программу работы с локальной базой данных«Архитектурныепамятники Курска» (рис. 2). Для создания базы данных используйте утилиту Database Desktop, для создания псевдонима – BDE Administrator. Характеристики полей записей базы данных приведены в таблице 1, сами записи в таблице 2, форма программы
– на рис. 3.1 Иллюстрации для БД смотрите в папке Приложение для ПР_3 в папке «Архитектурные памятники Курска».
Таблица 1.Поля записей базы данных | |||||
«Архитектурные памятники Курска» | |||||
Поле | Тип | Размер | Информация | ||
Monument | Alpha (A) | Название памятника | |||
Architect | Alpha (A) | Архитектор | |||
Note | Alpha (A) | Краткая историческая справка | |||
Photo | Graphik (G) | Иллюстрация |
Рис. 2.Окно программы работы с базой данных«Архитектурные памятники Курска»
Рис. 3.Форма программы работы с базой данных«Архитектурные памятники Курска»
1 Культин Н.Б. Delphi в задачах и примерах. – СПб.: БХВ-Петербург, 2003. – 288 с.: ил. (стр. 216)
Таблица 2.Записи базы данных«Архитектурные памятники Курска»
Памятник | Архитектор | Историческая справка | Иллюстрация | ||
мемориал Курская дуга | Музей под открытым небом растянулся практически на километр вдоль бульвара Победы. Не заметить комплекс невозможно. В его состав входят Триумфальная арка, памятник Жукову, храм Георгия Победоносца. | ||||
Антоновка | Огюст Монферран | Памятник победы Росси над войсками | aleks.jpg | ||
Наполеона в отечественной войне 1812 | |||||
года. Открыта 30 августа 1834 года. | |||||
Высота: 47, 5 метра; вес гранитного | |||||
ствола: 600 тонн. | |||||
Зимний дворец | Ф.Б. Растрелли | Зимний дворец много раз менял свой | herm.jpg | ||
облик. Последний раз он перестраивался | |||||
по проекту Растрелли. Строительство | |||||
дворца продолжалось более семи лет | |||||
(1754-1762 годы). | |||||
Исаакиевский собор | Огюст Монферран | Исаакиевский собор, четвёртый по счёту, | isaak.jpg | ||
стали возводить в 1818 году. Строился | |||||
собор 40 лет и был окончен в 1858 году. | |||||
Автор проекта – Огюст Монферран. | |||||
Ростральные колонны | Тома де Томон | 32-метровые | ростральные | колонны, | rostr.jpg |
органично вошедшие в архитектурный | |||||
ансамбль Стрелки Васильевского острова, | |||||
были сооружены в 1810 году. Они | |||||
напоминают о древнем Риме: обычае | |||||
украшать | триумфальные | колонны | |||
рострами захваченных кораблей. |
Практическая работа 4. Тема: Редактор колонок: работа с сеткой DBGrid.
Цели:
1.изучить различные способы работы с сеткой DBGrid;
2.на практическом примере научиться выводить текст различным цветом, добавлять в ячейки выпадающие списки;
3.развивать умение разрешать проблемы в профессиональной деятельности;
4.воспитывать усидчивость.