http://wecherkina.ru Практическая работа №2 Тема: Компоненты баз данных. Цели: 1. Изучить основные компоненты баз данных в Delphi; 2. На практическом примере научиться создавать приложение, которое позволяет просматривать содержимое БД в режиме формы; 3. Развивать навыки работы со справочной литературой и умение находить необходимую информацию. Ход работы: I. Теоретическая часть Система Delphi содержит богатую библиотеку компонентов, значительно упрощающих разработку приложений для баз данных. Компоненты освобождают программиста от работы на нижнем уровне, позволяют быстро создавать надёжные приложения.1 На прошлом занятии вы при создании приложения, работающего с БД, использовали три компонента Table (вкладка BDE), DataSource (Data Access), DBGrid (Data Controls). Давайте же сегодня изучим, для чего они нужны. Сначало, поговорим о вкладках, на которых они располагаются: BDE – содержит компоненты для создания приложений, использующих BDE; Data Access – это вкладка, содержащая невизуальные компоненты, предназначенные для организации доступа к данным; Data Controls – на ней располагаются визуальные компоненты для отображения данных. Компоненты для работы с базами данных можно разделить на три группы: 1. множества данных (data sets); 2. визуальные компоненты баз данных (dataaware controls) 3. источники данных (data sources). Рис. 1. Структура приложения БД, использующего BDE Множества данных – это невизуальные компоненты, которые взаимодействуют с BDE и обеспечивают доступ к данным в таблицах. Наиболее важные из них – компоненты Table и Query. Визуальные компоненты баз данных – это управляющие элементы пользовательского интерфейса для просмотра и редактирования данных. Многие из них дублируют обычные управляющие компоненты: DBGrid, DBEdit, DBCheckBox, DBRadioGroup, DBImage и др. Источники данных – это невизуальные компоненты, исполняющие роль трубопроводов между множествами данных и визуальными компонентами баз данных. Используя введённые понятия, 1 Шейкер, Т.Д. Разработка приложений баз данных в системе DELPHI: учеб. пособие / Т.Д. Шейкер. – Владивосток: Изд-во ДВГТУ, 2009. – 138 с. (стр.9) 1 http://wecherkina.ru можно уточнить структуру приложения, осуществляющего доступ к данным через BDE (DataSource) (рис. 1).2 Компонент Table Компонент Table (табл. 1) обеспечивает доступ к таблицам базы данных, создавая набор данных, структура полей которого повторяет таблицу БД. Набором данных называют записи одной или нескольких таблиц, переданные в приложение в результате активизации компонента доступа к данным.3 2 Шейкер, Т.Д. Разработка приложений баз данных в системе DELPHI: учеб. пособие / Т.Д. Шейкер. – Владивосток: Изд-во ДВГТУ, 2009. – 138 с. (стр. 10) 3 Шейкер, Т.Д. Разработка приложений баз данных в системе DELPHI: учеб. пособие / Т.Д. Шейкер. – Владивосток: Изд-во ДВГТУ, 2009. – 138 с. (стр. 12) 2 http://wecherkina.ru С помощью компонента Table можно организовать доступ к любой записи таблицы или их подмножеству. Компонент Table содержит все необходимые свойства, события и методы для создания, удаления, модификации, сортировки, фильтрации и поиска записей в таблице.4 Компонент DataSource Компонент DataSource (табл. 2) обеспечивает взаимодействие набора данных с компонентами для отображения данных. С каждым компонентом доступа к данным должен быть связан как минимум один компонент DataSource. С одним компонентом DataSource может быть связано несколько визуальных компонентов.5 Компонент DBGrid Визуальный компонент DBGrid (табл. 3) предназначен для организации табличного просмотра и редактирования данных. Внешний вид данных, отображаемый DBGrid, по умолчанию соответствует структуре набора данных. Компонент DBGrid часто называют сеткой.6 Для перемещения по записям используются полосы прокрутки и клавиши управления курсором. Для изменения данных достаточно установить курсор в нужную ячейку и ввести другое значение. Новая пустая строка создаётся в позиции указателя нажатием на клавишу Insert. Чтобы изменения, сделанные при редактировании и добавлении записи, были внесены в таблицу, необходимо на жать на клавишу Enter или перейти на другую строку. До того как данные были переданы в таблицу, можно клавишей Esc отменить изменения. Для удаления записи используется комбинация клавиш Ctrl+Delete.7 4 Шейкер, Т.Д. Разработка приложений баз данных в системе DELPHI: учеб. пособие / Т.Д. Шейкер. – Владивосток: Изд-во ДВГТУ, 2009. – 138 с. (стр. 13) 5 Шейкер, Т.Д. Разработка приложений баз данных в системе DELPHI: учеб. пособие / Т.Д. Шейкер. – Владивосток: Изд-во ДВГТУ, 2009. – 138 с. (стр. 13) 6 Шейкер, Т.Д. Разработка приложений баз данных в системе DELPHI: учеб. пособие / Т.Д. Шейкер. – Владивосток: Изд-во ДВГТУ, 2009. – 138 с. (стр. 21) 7 Шейкер, Т.Д. Разработка приложений баз данных в системе DELPHI: учеб. пособие / Т.Д. Шейкер. – Владивосток: Изд-во ДВГТУ, 2009. – 138 с. (стр. 22) 3 http://wecherkina.ru Таблица 3 Сегодня мы познакомимся ещё с несколькими основными визуальными компонентами баз данных. Рассмотрим их работу на практическом примере. II. Выполнение задания по инструкции Создадим однотабличную БД «Семья». Примечание: Пользователь может просматривать базу данных в режиме таблицы или в режиме формы. На прошлом занятии вы создавали приложение, которое позволяло просматривать базу данных в режиме таблицы. Сегодня же вы научитесь создавать приложения, позволяющие просматривать содержимое БД в режиме формы. Создание каталога и псевдонима. 1. Создайте в своей рабочей папке папку «Семья». 2. Откройте утилиту BDE Administrator, создайте псевдоним Familiy, укажите путь к только что созданной папке «Семья». Создание таблицы. 1. Откройте утилиту Database Desktop. 2. Создайте таблицу со следующими полями. 1 2 3 4 5 6 Field Name Семья Фамилия Имя Отчество Возраст Фотография Type Alpha (A) Alpha (A) Alpha (A) Alpha (A) Long Integer Graphic (G) Size 15 15 15 15 Key 3. Сохраните таблицу под именем Familiy.db в папку «Семья». 4 http://wecherkina.ru 4. Заполните таблицу следующими данными. Семья Фамилия Имя Отчество Возраст Фотография Папа Пупкин Фёдор Вениаминович 45 <BLOB Graphics> Мама Пупкина Федора Поликарповна 42 <BLOB Graphics> Сын Пупкин Василий Фёдорович 16 <BLOB Graphics> Старшая дочь Пупкина Дульсинея Фёдоровна 20 <BLOB Graphics> Младшая дочь Пупкина Дарья Фёдоровна 1 <BLOB Graphics> Создание формы. 1. Запустите Delphi 7. 2. На форме разместите компоненты, как показано на рисунке. 3. Настройте компоненты формы согласно следующим указаниям Компонент Table1 DatabaseName – Familiy TableName – Familiy.db Active – True Компонент DataSource1 DataSet - Table1 Компонент DBText1 DataSource - DataSource1 DataField – Семья Компонент DBText2 DataSource - DataSource1 DataField – Фамилия Компонент DBText3 DataSource - DataSource1 DataField – Имя Компонент DBText4 DataSource - DataSource1 DataField – Отчество Компонент DBText5 DataSource - DataSource1 DataField – Возраст Компонент DBImage1 DataSource - DataSource1 DataField – Фотография Stretch – True Компонент DBNavigator1 DataSource - DataSource1 5 http://wecherkina.ru 4. Сохраните проект. Запустите программу на исполнение. Все данные отобразились, кроме фотографий членов семьи. Вставка изображений в БД. 1. Запустите программу на исполнение. 2. Откройте изображение Папа.gif в графическом редакторе Paint (см. в папке «Приложение к ПР_2»). 3. Выберите пункт в меню Правка --> Выделить всё. 4. Далее нажмите сочетание клавиш Ctr+С. 5. Теперь перейдите на окно работающего приложения и щёлкните в компоненте DBImage1 мышкой. 6. Далее нажмите сочетание клавиш Ctr+V. Теперь картинка вставилась в поле для изображения. 7. Аналогично добавьте остальные изображения в БД. Как вы заметили, из работающего приложения, в режиме формы можно видеть только одну запись, а в режиме таблицы – несколько записей одновременно. Довольно часто эти два режима комбинируют. Краткая информация (содержимое некоторых ключевых полей) выводится в режиме формы, а при необходимости видеть содержимое всех полей записи – выполняется переключение в режим таблицы. III. Работа со справочной литературой Откройте книгу Культин Н.Б. Delphi в задачах и примерах. – СПб.: БХВ-Петербург, 2003. – 288 с.: ил. (см. в папке «Приложение к ПР_2») на странице 239 (Часть 2. Delphi – краткий справочник) и выпишите в тетрадь назначения всех компонентов, которые вы сегодня использовали в практической работе. 6