Главная » Все файлы » Просмотр файлов из архивов » Документы » Ревунков Г.И. - Методические указания к лабораторному практикуму по курсу «Базы данных»

Ревунков Г.И. - Методические указания к лабораторному практикуму по курсу «Базы данных», страница 21

2018-01-09СтудИзба

Описание файла

Документ из архива "Ревунков Г.И. - Методические указания к лабораторному практикуму по курсу «Базы данных» ", который расположен в категории "". Всё это находится в предмете "базы данных" из 4 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "базы данных" в общих файлах.

Онлайн просмотр документа "Ревунков Г.И. - Методические указания к лабораторному практикуму по курсу «Базы данных»"

Текст 21 страницы из документа "Ревунков Г.И. - Методические указания к лабораторному практикуму по курсу «Базы данных»"

Для этого необходимо выполнить следующие действия:

• Активизируйте на форме компонент DBGrid1 (соответствующий таблице Book).

• Вызовите редактор столбцов компонента DBGrid1. Для этого вызовите контекстное меню компонента DBGrid1 (щелкнув правой кнопкой) и выполните опцию Columns Editor.

• Явно определите столбцы. Для этого щелкните на панели инструментов кнопку Add All Fields.

• Активизируйте в списке в окне редактора имя соответствующего столбца.

• Перейдите в окно инспектора объектов. Раскройте список свойств Title. В списке измените значение свойства Caption - введите новое русское название столбца - рис.4.21. Повторите последние действия с остальными столбцами.

Рис. 4.21. Изменение названий столбцов настройкой компонента DBGrid

Сравните исходный текст программы в первром и во втором случае. Запустите программу на выполнение.

Пример 4.8. Под столбцами "Индекс", "Название книги", "Автор" и "Год издания" таблицы "Книги" установите редакционные окна, которые бы отображали содержимое текущей строки и при необходимости позволяли бы редактировать данные.

Используем в качестве таких окон компонент DBEdit co страницы Data Controls палитры компонентов. В нашем примере перенесем на форму четыре таких компонента: TDBEdit1, TDBEdit2, TDBEdit3, TDBEdit4.

Для каждого компонета установите значения свойств:

DataField  имя поля: ID - для столбца "Индекс", Name - для столбца " Название книги ", Author - для столбца "Автор", Yеar - для столбца "Год издания".

DataSource  DataSource1 (в нашем примере с талицей Book связан компонент DataSource1).

Проверьте значение свойства ReadOnly. По умолчанию оно должно иметь значение False. В противном случае поля редактирования будут доступны только в режиме чиения.

Запустите программу. Внешний вид формы приведен на рис. 4.22. Выполните ввод данных. Переход между окнами компонентов TDBEdit с помощью клавиши Tab.

Рис. 4.22. Введение в форму компонентов TDBEdit.

Пример 4.9. Под столбцом "Индекс издательства" таблицы "Книги" установите выпадающий список для выбора кода издательства и окно с названием выбранного издательства.

Используем компонент DBText для вывода названия выбранного издательства и компонент DBLookupComboBox для реализации выпадающего списка (рис. 4.23).

Рис.4.23. Использование компонентов DBText и DBLookupComboBox.

Для компонента DBText установите соответствующие таблице Publishers значения свойств DataField и DataSource , поскольку из этой таблицы должны браться данные:

DataField  Name_Р;

DataSource  DataSource2 (в нашем примере с талицей Publishers связан компонент DataSource2).

Для компонента DBLookupComboBox установите следующие значения свойств DataField, DataSource, KeyField, ListField и ListSource:

DataField  ID_P;

DataSource  DataSource1;

KeyField  ID_P;

ListField  Name_P;

ListSource  DataSource2.

DataField и DataSource определяют главное соединение. ListSource - задает вторичный источник данных, KeyField - поле во вторичном источнике, используемое для связи и ListField - поле, в котором находятся отображаемые данные из вторичного источника.

4.1.7. Введение элементов навигации

Пример 4.10. Для таблиц Book и Publishers введите элементы навигации в таблице.

Используем компонент DBNavigator. В нашем примере внесем на форму два таких компонента:ТDBNavigator1 и ТDBNavigator2 и свяжем их с соответствующими источниками данных (свойство DataSource) - рис. 4.24.

Рис. 4.24. Использование компонента DBNavigator

Теперь сделаем собственный навигатор по таблице Publishers (компонент Table2) - вместо компонента DBNavigator добавим группу из четырех кнопок, с помощью которых организуем перемещение по таблице. Группу кнопок расположите над таблицей.

Чтобы кнопки осуществляли навигацию, можно вызывать соответствующие методы компонента Table:

Table2.First,

Table2.Last,

Table2.Next,

Table2.Prior,

написав для каждой кнопки соответсвующий обработчик (см. Часть 2). При этом необходимо учитывать случаи достижения конца или начала набора и запрещать дальнейшие перемещения в этих напрвлениях.

Сделаем кнопку перемещения к первой записи. Перенесите на форму компонент Button. Свойству Caption присвойте значение "К первой". Событию OnClick поставьте в соответствие обработчик (рис.4.25):

procedure TForm1.Button1Click(Sender: TObject);

begin

while not Table2.Bof do

begin

Table2.Prior;

end;

end;

Рис. 4.25. Пример введения кнопок навигации

По аналогии спроектируйте остальные кнопки.

4.1.8. Введение элементов управления редактированием данных

Используя методы компонента Table:

• Table2.Insert (компонент Table2 в наших примерах соответствует таблице Publishers),

• Table2.Edit,

• Table2.Delete,

• Table2.Post (метод переносит в таблицу БД текущее состояние записи),

• Table2.Cancel (метод отменяет сделанные изменения),

можно ввести в форму кнопки, с помощью которых будет осуществляться управление редактированием данных в наборе.

Набор данных (в нашем случае таблица Publishers) может находиться в различных состояниях, которые определяются в свойстве State. Это свойство может принимать следующие значеня:

• dsBrowse - набор находится в режиме просмотра;

• dsEdit - набор находится в режиме редактирования; набор переходит в этот режим, если в компоненте DataSource свойство AutoEdit имеет значение True и пользователь работает с данными в компонентах DBEdit или DBGrid; либо когда в программе вызывается метод Edit; когда сделанные в записи изменения отсылаются (Post), набор из этого режима выходит и переходит в режим просмотра;

• dsInsert - набор находится в режиме добавления новой записи;

• dsInactuve - набор находится в режиме закрытого состояния;

• dsSetKey - набор находится в режиме подготовки к поиску данных; это состояние наступает после вызова метода SetKey , но до вызова метода GotoKey или GotoNearest;

• dsCalcFields - набор находится в режиме расчета полей; состояние наступает после вызова обработчика события OnCalcFieids;

• dsFilter - набор находится в режиме установки фильтра; состояние наступает после вызова обработчика события OnFilterRecord;

• dsNewValue, dsCurValue, ds0ldValue - набор находится в режиме обновления кеш-памяти.

В обычных случаях переходы между этими состояниями Delphi обрабатывает автоматически. Если требуется, то для смены состояний можно, например, использовать событие OnStateChange компонента DataSource или использовать обработчик события OnClick компонента Button. Например, обработчик для кнопки включения записи:

procedure TForm1.Button1Click(Sender: TObject);

begin

if Table2.State = dsBrowse then

Table2.Insert;

end;

Можно также обрабатывать для кнопок свойство Enable. Когда свойство имеет значение False, компонент неактивен и при выполнении программы представляется невыделенным - т.е. в сером цвете. Либо можно присвоить свойству Visible значение False (используется соответствующий метод Hide), тогда компонент станет невидим.Чаще используют первый способ.

4.1.9. Использование компонента Query

В компоненте Query используется язык работы с реляционными базами данных - SQL. BDE имеет встроенный интерпретатор с этого языка.

Данные, сформированные по запросу SELECT, помещаются во временную локальную таблицу и компонент Query становится ее владельцем. Данные из этой таблицы через компонент DataSource могут быть переданы визуальным компонентам для дальнейшей обработки точно также, как и в случае компонента Table. Однако, в отличии от компонента Table эти данные нельзя изменять. Для изменения данных формируются специальные запросы UPDATE, INSERT, DELETE.

SQL-запросы можно программировать либо непосредственно, либо используя SQLB (SQL Builder) - специальный построитель SQL-запросов, встроенный в Delphi.

Пример 4.11. По данным таблиц Book и Publishers реализуйте следующий SQL-запрос:

SELECT B.ID, B.Name, B.Author, P.Name_P, P.Telephone_P

FROM Book B, Publishers P

WHERE B.ID_P=P.ID_P

ORDER BY B.Author

Откройте новое приложение. Перенесите на форму компоненты Query (страница Data Access), DataSource (страница Data Access), DBGrid (страница Data Controls).

У компонента Query1 свойству DatabaseName установите значение Catalogue_B(в нашем примере)

У компонента DataSource1 свойству DataSet установите значение Query1.

У компонента DBGrid свойству DataSource установите значение DataSource1.

Снова перейдите к компоненту Query1 и откройте редактор у свойства SQL двойным щелчком. В открывшемся окне String List editor редактора наберите исходный текст оператора SELECT из условия примера. По концу набора нажмите щелкните ОК.

Для выполнения запроса у компонента Query1 свойству Active установите значение True.

На рис. 4.26 скомпанованы основныме моменты использования компонента Query.

Рис. 4.26. Использования компонента Query

4.2. Использование технологии ADO.

В рамках технологии АDO на сервере размещается источник данных и устанавливается провайдер данных, а на клиенте - компоненты ADO: ADOConnection (связной компонент), ADOTable, ADOQuery, ADOStoredProc, не требующие установки на клиенте механизма BDE.

Для случая файл-серверных систем в роли провайдера выступает Microsoft OLE DB Provider for ODBC drivers, а отдельные таблицы должны управляться соответствующим ODBC-драйвером.

Связь с провайдером устанавливается с помощью связного компонента ADOConnection либо минуя его с помощью свойства ConnectionString компонента-набора-данных.

Пример 4.12. Создайте базу данных katalog.mdb СУБД MS ACCESS 97, состоящую из двух связных таблиц - рис.4.27, и отобразите ее в Delphi, используя средства технолгии ADO.

Рис. 4.27. База данных "katalog.mdb" СУБД MS ACCESS 97

Запустите Delphi и создайте модуль данных (зачастую модули данных используют для создания форм, представляющих одни и теже данные разными способами): выполните опции File | New, выберите закладку NEW, активизируйте Data Module и щелкните ОК. На экране появится окно конструктора модуля данных - Data Module1. Поместите в это окно на вкладку Components компоненты ADOConnection, ADOTable - два, DataSource - два. из палитры компонентов (рис. 4.28).

Рис. 4.28. Создание модуля данных

Теперь необходимо настроить драйвер ODBC. Откройте окно панели управления Windows: Пуск | Программы | Панель управления и запустите на выполнение ODBC Data Source (32 bit). На экране раскроется диалоговое окно ODBC Data Source Administrator (рис. 4.29).Если эта программа у Вас отсутствует, то ее необходимо установить.

Рис. 4.29. диалоговое окно ODBC Data Source Administrator

В этом окне в списке User Data Sources активизируйте строку MS Access 97 и щелкните кнопку Configure. На экране появится окно установок ODBC Microsoft Access Setup. Используя кнопку Select Directory укажите базу данных (рис. 4.30) и кнопками ОК закройте окна настройки драйвера. Закройте окно панели управления.

Рис. 4.30. Окно ODBC Microsoft Access Setup

Далее настраивается связь объекто ADO с провайдером. Активизируйте компонент ADOConnection1 и в окне инспектора объектов у свойства Connection String раскройте кнопкой окно формирования значения. На экране появится окно настройки связи - рис. 4.31.

Рис. 4.31. Окно CustomerData.ADOConnection1 Connection String

Щелкните по кнопке Build и в открывшемся окне Data Link Properties на вкладке выбора провайдера Provider выберите Microsoft OLE Provider for ODBC Drivers - рис. 4.32.

Рис. 4.32. Выбор провайдера

В этом же окне перейдите на вкладку Connection и в списке Use data source name установите тип данных MS Access 97 Database - рис. 4.33.Нажмите кнопки ОК.

Рис. 4.33. Установка типа данных

Активизируйте компонент ADOTable1. Свойству Connection установите значение ADOConnection1 , а свойству TableName - значение Издательства (выбрав из списка).

Активизируйте компонент ADOTable2. Свойству Connection установите значение ADOConnection1 , а свойству TableName - значение Книги (выбрав из списка).

Активизируйте компонент DataSource1. Свойству DataSet установите значение ADOTable1.

Активизируйте компонент DataSource2. Свойству DataSet установите значение ADOTable2.

Снова активизируйте дочернюю таблицу (Книги) - ADOTable2. Свойству MasterSource установите значение DataSource1. У свойств MasterFields щелкните по кнопке раскрытия окна выбора значения. Раскроется окно Field Link Designer.Активизируйте слева и справа поле связи "код_издательства" (рис. 4.34) и установите связь, щелкнув кнопки ADD и ОК.

Рис. 4.34. Установление связи

Теперь в окне конструктора модуля данных откройте вкладку Data Diagram и из левого окна на вкладку с помощью мыши перетащите компоненты ADOTable1 и ADOTable2. На вкладке отобразилась установленная связь (рис. 4.35).

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
425
Средний доход
с одного платного файла
Обучение Подробнее