Главная страница
Случайная страница
КАТЕГОРИИ:
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Практическая Работа № 6
тема: «Клиентская часть: размещение компонентов доступа к данным, соединение с БД, размещение компонентов визуализации, отображение таблиц»
Цели практической работы:
55. Обобщить, закрепить теоретические знания по теме: Проектирование клиентской части приложения.
56. Сформировать практические умения и навыки: создавать пользовательское приложение, размещать компоненты доступа к данным и компоненты визуализации данных, организовывать соединение с БД InterBase, реализовывать реляционную связь между таблицами БД, отображать данные.
57. Сформировать исследовательские и интеллектуальные умения: анализировать возможности использования различных технологий доступа к данным, задания необходимых условий для связи с БД, оформлять результаты
Инструкция по выполнению практической работы:
- Начните новый проект и измените следующие свойства пустой формы, заданные по умолчанию:
Caption = 'Накладные на книги'
Name = 'fmNakls'
- После изменения свойств сразу сохраните модуль в специально отведенной для этого папке под именем fmNaklsU, а проект — под именем Nakls.
- Поместите на форму две панели ТPanel, поместите в их свойства Align значения alBottom: самая нижняя из них предназначена для размещения кнопок навигатора и кнопки закрытия программы, а расположенная над ней — для размещения сетки DBGrid, в которой будет отображаться список книг.
- Чтобы пользователь программы мог менять высоту этой панели, поместите на пустую часть формы вешку разбивки TSplitter (вкладка Additional палитры компонентов), в ее свойство Align поместите значение alBottom, в свойство Beveled — True и в свойство Height — 5.
- Поместите на форму еще одну панель и установите в ее свойство Align значение alClient — на этой панели будет расположена сетка DBGrid с данными о накладных.
- Поместите на верхнюю и среднюю панели по компоненту TDBGrid (вкладка Data Controls) и в их свойство Align установите значение alClient.
- Очистите свойство Caption у самой нижней панели и поместите на нее кнопки навигатора БД TDBNavigator (вкладка Data Controls) и кнопку TBitBtn (вкладка Additional). Навигатор расположите у левого края панели, а кнопку — у правого.
- В свойство Kind кнопки поместите значение bkClose.
- Сохраните все сделанные вами изменения модуля главной формы на диске.
В программе нам понадобятся 2 компонента TIBТаblе, два компонента TDataSource, компоненты TIBDataBase, IIBTransaction. Разместим их в отдельном модуле данных, чтобы эти компоненты не загромождали основное окно.
- Выберите команду File > New > Others > Delphi Files, чтобы открыть окно хранилища объектов, и на вкладке New открывшегося окна дважды щелкните на значке Data Module. В свойство Name модуля данных поместите значение DM и сохраните модуль в файле dmNaklsU.
- Чтобы связать модуль с проектом, щелкните на копке Add File To Project (Shift+F11) панели инструментов и выберите только что созданный файл dmNaklsU.
- Для связи таблиц с БД воспользуемся компонентом TIBDatabase на вкладке InterBase палитры компонентов Delphi: щелкните на нем и затем — на имени модуля DM в окне дерева объектов.
- В окне инспектора объектов раскройте список свойства DatabaseName и с его помощью установите ссылку на файл своей базы данных.
- Измените имя компонента TIBDatabase, заданное по умолчанию, на DB.
- Раскройте список Params компонента DB и введите регистрационное имя и пароль.
USER_NAME=SYSDBA
PASSWORD=masterkey
- Установите в свойство LoginPrompt компонента DB значение False.
- Поместите в модуль данных компонент IBTransaction.
- С помощью списка свойства DefaultDatabase свяжите компонент IBTransaction1 с компонентом DB.
- Теперь перенесите в окно дерева объектов компонент ТIBТаblе (вкладка InterBase) и «положите» его на объект DB в дереве объектов. В окне инспектора объектов в свойстве DatabaseName нового компонента автоматически появится имя базы данных DB, однако слева от компонента в окне дерева объектов будет красный знак вопроса, означающий, что компонент ТIBТаblе еще не готов к работе.
- Чтобы подготовить компонент к работе, необходимо определить имя этой таблицы: раскройте список его свойства TableName и выберите в нем таблицу NAKLS.В дальнейшем нам придется много раз обращаться к методам и свойствам этого компонента, поэтому измените его имя TIBTablel, заданное по умолчанию, на имя связанной с ним таблицы: в строке свойства Name введите Nakls.
- Чтобы данные из НД Nakl s смогла отобразить сетка DBGridl в главном окне программы, ее нужно связать с НД с помощью специального компонента TDataSource: выделите его на вкладке Data Access палитры компонентов и затем щелкните на компоненте Nakls в окне дерева объектов, чтобы связать его с НД.
- Теперь подготовьте вторую пару ТIBТаble — TDataSource для отображения данных из таблицы MOVEBOOK во второй сетке главного окна (свяжите НД с таблицей MOVEBOOK и дайте ему имя Move).
Наборы данных Nakls и Move связаны реляционным отношением один ко многим: единственной записи (накладной) в первом НД может соответствовать произвольное количество записей (книг) во втором. Чтобы НД «знали» об этом и согласованно отображали данные, их нужно предварительно подготовить.
- Для установления связи между таблицами в компоненте-наборе данных подчиненной таблицы для свойства MasterSource укажите источник данных родительской таблицы.
- Чтобы установить связь, нужно указать связываемые поля в родительской и дочерней таблицах. В поле Detail Fields выберите поле MNakl — щелкните на нем, и в списке Master Fields - поле NakllD, после чего щелкните на кнопке Add (эта кнопка станет доступной только после выделения полей связи и перестает быть доступной после щелчка на ней). Закройте окно конструктора связей щелчком на кнопке ОК.
После выполнения этих действий между таблицами NAKLS и MOVEBOOK устанавливается связь один ко многим по полю NakllD.
- Щелкните на таблице Movebook в окне дерева объектов и откройте набор данных Move: в окне инспектора объектов поместите в его свойство Active значение True. Точно так же откройте таблицу Nakls.
- На этом начальный этап работы с окном модуля данных закончен, и нам нужно перейти к главному окну программы (щелкните на вкладке fmNaklsU в окне кода и нажмите клавишу F12). С помощью команды File > Use Unit свяжите модуль главного окна с модулем данных.
- Для верхней сетки DBGrid1 раскройте список свойства DataSource и выберите в нем пункт DataSource1 - сетка тут же наполнится данными из НД Nakls.
- Точно так же свяжите нижнюю сетку с источником данных DataSource2. Свяжите навигатор баз данных DBNavigatorl в нижней части окна с источником DataSourcel.
- Запустите программу на выполнение. Проверьте работу приложения.
- Подготовьте отчет о выполнении практической работы. Отчет должен содержать:
q Название ПР
q ФИО студента, № группы
q цели
q Перечень используемых компонентов и их свойств для организации доступа к данным
q Порядок отображения данных
q Организация реляционной связи между двумя таблицами
q Описание работы приложения
q Анализ ошибок
Наименование дисциплины: Разработка и эксплуатация удаленных баз данных
Тема (раздел) учебной программы: Проектирование клиентской части приложения БД.
|