- •Міністерство освіти і науки, молоді та спорту україни
- •Розглянуто
- •Содержание
- •Практическая работа №1
- •Краткие теоретические сведения Терминология баз данных
- •Ход работы
- •Ход работы
- •Контрольные вопросы:
- •Cодержание отчета
- •Практическая работа №3
- •Краткие теоретические сведения
- •Ход работы
- •Ход работы
- •Ход работы
- •Ход работы
- •Ход работы
- •Ход работы
- •Ход работы
- •Ход работы
- •Контрольные вопросы:
- •Cодержание отчета
- •Рекомендуемая литература
- •Матеріал є власністю Одеського технічного коледжу онахт.
- •Передрук матеріалів тільки з дозволу адміністрації коледжу
Ход работы
Упражнение 8
Н
- 26 -
ачните новый проект и разместите на новой форме таблицу и источник данных, а также диалоговое окно открытия файла (компонент OpenDialog на странице Dialogs), причём возьмите таблицу в качестве свойства источника данных DataSet (т. е. для свойства DataSet компонента DataSource1 выберите значение Table1).Установите свойство таблицы Readonly равным True, а свойство AutoEdit источника данных DataSource1 - равным False.
Разместите на форме фаску (компонент Bevel на странице Additional), установите её свойство Shape равным bsFrame, а свойство Align — равным alTop.
Установите свойства диалогового окна открытия файла следующим образом:
Свойство Значение
DefaultExt DB
Options.ofHideReadOnly True
Options.ofFileMustExist True
Title Open Database File
Дважды щёлкните на свойстве Filter и создайте два фильтра с названиями Database File и All Files с соответствующими масками *.DB; *.DBF и *.*.
Разместите на фаске слева одну кнопку Button1 панели инструментов, установив её свойство Caption равным 1, а свойство Font — равным Wingdings. Мы получили кнопку с изображенной на ней открытой папкой.
Справа от полученной кнопки разместите навигатор DBNavigator.
Свяжите свойство навигатора DataSource с источником данных (для его свойства DataSource выберите значение DataSource1). Установите всё, кроме первых четырёх подсвойств VisibleButtons, равным False.
Установите свойство ShowHint навигатора равным True.
Теперь разместите на форме сетку данных DBGrid, установите её свойство Align равным alClient и также свяжите её с источником данных (для её свойства DataSource выберите значение DataSource1).
З
- 27 -
амените название формы на Универсальный просмоторщик баз данных.Дважды щёлкните на кнопке панели инструментов и внесите следующий программный код в её обработчик события OnClick:
with OpenDialog1 do
if Execute then
with Table1 do
begin
Close;
DatabaseName := ExtractFilePath(Filename);
TableName := ExtractFileName(Filename);
Open;
end;
вы построили средство просмотра для всех своих таблиц баз данных. Но если вы хотите несколько больше, чем просто просматривать содержимое таблиц, всё, что от вас требуется, — это изменить несколько свойств. В результате вы получите редактор таблицы.
В проекте просмотра баз данных установите свойство таблицы ReadOnly равным False, а свойство источника данных AutoEdit — равным True.
Дважды щёлкните на свойстве навигатора VisibleButtons и установите его подсвойства nbInsert, nbDelete, nbPost и nbCancel равными True. Благодаря этим простым изменениям, средство просмотра баз данных станет редактором. Навигатор позволяет перемещаться по записям вперёд и назад или переходить на первую или последнюю запись. Можно также перемещаться, используя полосы прокрутки сетки.
Сохраните этот проект как DBVIEWER.
З
- 28 -
апустите программу и попытайтесь внести незначительные изменения в примеры баз данных, которые поставляются вместе с Delphi. Изменения будут сохранены, как только вы покинете текущую строку. Вы также можете щёлкнуть на кнопке Post (с изображением галочки), чтобы выполнить немедленное сохранение результата, или на кнопке Cancel (с крестиком) — для отмены сделанных изменений перед тем, как покинуть строку.Используя прокрутку, перейдите в нижнюю часть сетки и с помощью клавиши <> вставьте новую строку или щёлкните на кнопке Insert (со знаком "+"), чтобы вставить новую строку в любое место таблицы. Если вы покинете эту строку, ничего в ней не изменив, то она исчезнет. А в таблице с первичным ключом, при сохранении новой строки или при переходе на другую, она займёт свое место в порядке сортировки по первичному ключу.
Запомните, что, как только вы покидаете текущую строку или щёлкаете на кнопке Post, проведённые вами изменения записываются в файл. Поэтому нет нужды специально сохранять файл, хотя не мешает для надёжности перед закрытием таблицы нажать кнопку Post.
КОНТРОЛЬНЫЕ ВОПРОСЫ:
Для чего нужен компонент DBNavigator?
Что включает в себя свойство навигатора VisibleButtons?
Что нужно изменить в компоненте DBNavigator, что бы программа перед удалением строки запросила подтверждение.
Для чего нужно свойство ShowHint?
Какие функции будет выполнять Навигатор, который не связан с источником данных?
CОДЕРЖАНИЕ ОТЧЕТА
В
- 29
-
ПРАКТИЧЕСКАЯ РАБОТА №6
ТЕМА: Использование графики в базах данных
ЦЕЛЬ: Изучить необходимые компоненты для работы с графикой в базах данных.
КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
сетка данных не является универсальным средством для различных форм работы с базами данных. самым существенным недостатком сетки данных является неспособность отображения данных типа BLOB (Binary Large Objects — крупные объекты в бинарном формате). Например, в таблице BIOLIFE.DB поля Notes и Graphic содержат примечания переменной длины и изображения, а сетки данных общего назначения не в состоянии их отобразить.
Для работы с одной определенной базой данных, структура таблиц которой известна заранее, Delphi поддерживает большую группу ориентированных на определённые данные компонентов. Существуют варианты таких компонентов для надписи, поля ввода, примечания, растрового изображения, списка, комбинированного списка, флажка параметра и группы переключателей. Подобно сетке данных, все они обладают свойством DataSource, которое указывает на источник данных внутри проекта. Они также имеют свойство DataField для определения того, какие поля будут отображены. Кроме этих простых специализированных компонентов, Delphi предлагает интеллектуальные компоненты списка данных и комбинированного списка данных, которые в состоянии получить доступ к данным из другой таблицы.
Далее для надежности мы будем работать не с оригиналом, а с копией таблицы.
- 30
-
