«Базы данных» Электронное учебное издание Подготовлено коллективом авторов: А. И. Антонов


Название«Базы данных» Электронное учебное издание Подготовлено коллективом авторов: А. И. Антонов
страница18/18
ТипСамостоятельная работа
1   ...   10   11   12   13   14   15   16   17   18
Для компонента 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).
Рис. 4.35. Связь между таблицами.
Сохраните файл модуля, формы и проекта.

Теперь сделайте обе таблицы активными - у компонентов ADOTable1 и ADOTable2 у свойства Active установите значения True.

Перейдите к основной форме и свяжите ее с модулем данных, выполнив опции File | Use Unit и выбрав созданный модуль данных в открывшемся окне Use Unit. Затем перенесите на форму из палитры компонентов два компонента DBGrid и установите соответствующие значения их свойств DataSource (выбрав из выпадающего списка) - рис. 4.36.
Рис. 4.36. Пример связи таблиц средствами технологии ADO

ПОДРИСУНОЧНЫЕ НАДПИСИ

Рис. 1.1. Главное окно системы.

Рис. 1.2. Окно репозитория Delphi.

Рис. 1.3. Окно выравнивания компонентов.

Рис. 1.4. Окно изменения размеров компонентов.

Рис. 1.5. Окно масштабирования размеров выделенных компонентов.

Рис. 1.6. Окно менеджера проекта.

Рис. 1.7. Окно браузера.

Рис. 1.8. Окно точек останова.

Рис. 1.9. Окно добавления новой точки.

Рис. 1.10. Окно наблюдения.

Рис. 1.11. Окно добавления нового выражения в окно наблюдения.

Рис. 1.12. Окно опций проекта.

Рис. 1.13. Окно настройки параметров среды.

Рис. 1.14. Окно настройки параметров редактора Delphi.

Рис. 1.15. Страница Standard и примеры содержащихся на ней компонентов.

Рис. 1.16. Страница Additional и примеры содержащихся на ней компонентов.

Рис. 1.17. Страница Win32 и примеры содержащихся на ней компонентов.

Рис. 1.18. Страница System и примеры содержащихся на ней компонентов.

Рис. 1.19. Страница Data Access и примеры содержащихся на ней компонентов.

Рис. 1.20. Страница Data Controls и примеры содержащихся на ней компонентов.

Рис. 1.21. Страница ADO и примеры содержащихся на ней компонентов.

Рис. 1.22. Страница InterBase и примеры содержащихся на ней компонентов.

Рис. 1.23. Страница Midas и примеры содержащихся на ней компонентов.

Рис. 1.24. Страница Samples и примеры содержащихся на ней компонентов.

Рис. 1.25. Страница InternetExpress и примеры содержащихся на ней компонентов.

Рис. 1.26. Страница Internet и примеры содержащихся на ней компонентов.

Рис. 1.27. Страница FastNet и примеры содержащихся на ней компонентов.

Рис. 1.28. Страница Decision Cube и примеры содержащихся на ней компонентов.

Рис. 1.29. Страница QReport и примеры содержащихся на ней компонентов.

Рис. 1.30. Страница Dialogs и примеры содержащихся на ней компонентов.

Рис. 1.31. Страница Win 3.1 и примеры содержащихся на ней компонентов.

Рис. 1.32. Страница ActiveX и примеры содержащихся на ней

Рис. 1.33. Страница Servers и примеры содержащихся на ней компонентов.

Рис. 1.34. Окно редактора Editor Properties на странице настройки параметров Code Insight.

Рис.1.35. Окно Project Manager

Рис.1.36. Пример контекстного меню окна Project Manager

Рис.1.37. Окно New Items активизированное из окна Project Manager

Pис.1.38. Окно Project Manager с активизированной кнопкой Activate

Рис.1.39. Пример выполнения простой стандартной Windows-программы

Рис.1.40. Пример файла *.DFM

Рис.1.41. Окно эксперта DLL для выбора проекта

Рис.1.42. Окно эксперта DLL для выбора языка локализации

Рис.1.43. Окно сообщений

Рис.1.44. Окно Менеджера трансляций

Рис.1.45. Пример помещения строки в Трансляционный репозиторий

Рис.1.46. Окно CPU

Рис.1.47. Окно Debug Inspector

Рис.1.48. Окно программы Winsight 32

Рис.1.49. Графический редактор

Рис. 1.50. Пример технологии OLE

Рис. 2.1 Пример консольного приложения

Рис. 2.2. Пример внешнего вида главного окна программы.

Рис. 2.3. Пример программы суммирования чисел

Рис. 2.4. Форма с тремя полями редактирования.

Рис. 2.5. Вид формы после добавления меток.

Рис. 2.6. Вид формы после добавления кнопок.

Рис. 2.7. Вид формы в результате работы обработчика кнопки "Вычислить".

Рис. 4.1. Окно утилиты BDE Administrator.

Рис. 4.2. Окно выбора типа драйвера для базы данных.

Рис. 4.3. Окна задания параметров для псевдонима базы данных.

Рис. 4.4. Окно утилиты Database Desktop.

Рис. 4.5. Установка псевдонима в утилите Database Desktop

Рис. 4.6. Выбор типа таблицы

Рис. 4.7. Окно определения полей таблицы

Рис. 4.8. Описание структуры таблицы Book

Рис. 4.9. Установка яыкового драйвера.

Рис. 4.10. Опции меню Record

Рис. 4.11. Создание индекса

Рис. 4.12. Список индексов таблицы Book.

Рис. 4.13. Определение ссылочной целостности между таблицами

Рис. 4.14. Форма на этапе разработки.

Рис. 4.15. Внешний вид приложения.

Рис. 4.16. Форма с главной и подчиненной таблицей на этапе разработки

Рис. 4.17. Окно редактора связей.

Рис.4.18. Окно редактора связей после установки связи

Рис. 4.19. Пример экранной формы с главной и подчиненной таблицами

Рис. 4.20. Добавление полей-объектов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рис. 4.35. Связь между таблицами.

Рис. 4.36. Пример связи таблиц средствами технологии ADO

СПИСОК ЛИТЕРАТУРЫ
Л1. Озкарахан Э. Машины баз данных и управление базами данных: Пер. с англ. - М.: Мир, 1989. - 696 с., ил.

Л2. Орлик С.В. Секреты Delphi на примерах: - М.: Восточная Книжная Компания, 1996. - 352 с., ил.

Л3. Калверт Ч. Delphi 2. Энциклопедия пользователя: Пер. с англ.- К.: НИПФ "ДиаСофт Лтд.", 1996. - 736 с., ил.

Л4. Епанешников А., Епанешников В. Программирование в среде Delphi 2.0: Учебное пособие: В 4-х частях. Ч. 1. Описание среды - М:: ДИАЛОГ-МИФИ, 1997. - 235 с.

Л5. Епанешников А., Епанешников В. Программирование в среде Delphi 2.0: Учебное пособие: В 4-х частях. Ч. 2. Язык Object Pascal 9.0 - М:: ДИАЛОГ-МИФИ, 1998. - 319 с.

Л6. Чепмен Девис. Разработка Internet-приложений в Delphi 2: Пер. с англ. - К.: Издательство "ДиаСофт", 1997. - 640 с.

Л7. Фаронов В.В. Delphi 3. Учебный курс. - М.: "Нолидж", 1998. - 400 с., ил.

Л8. Шумаков П.В. Delphi 3 и разработка приложений баз данных. - М.: "Нолидж", 1999. - 704 с., ил.

Л9. Марко Канту, Тим Гуч при участии Джона Лэма. Delphi. Руководство разработчика: Пер. с англ. - К.: ВЕК+, М.: ЭНТРОП, М.: ДЕСС, 1999. - 752 с., ил.

Л10. Фаронов В.В. Delphi 4. Учебный курс. - М.: "Нолидж", 1998. - 464 с., ил.

Л11. Фаронов В.В., Шумаков П.В. Delphi 4. Руководство разработчика баз данных. - М.: "Нолидж", 1999. - 560 с., ил.

Л12. Р. Баас, М. Фервай, Х. Гюнтер. Delphi 4: полное руководство: пер. с нем. - К.: Издательская группа BHV, 1999. - 800 с., ил.

Л13. Марко Кэнту. Delphi 4 для профессионалов: пер. с англ. - СПб.: Издательство "Питер", 1999. - 1120 с., ил.

Л14. Калверт Чарльз. Базы данных в Delphi 4. Руководство разработчика: Пер. с англ. - К.: Издательство "ДиаСофт", 1996. - 464 с., ил.

Л15. Фаронов В.В. Delphi 5. Учебный курс. - М.: "Нолидж", 2000. - 608 с., ил.

Л16. Бобровский С. Delphi 5: учебный курс. - СПб: Издательство "Питер", 2000. - 640 с., ил.

Л17. Фаронов В.В., Шумаков П.В. Delphi 5. Руководство разработчика баз данных. - М.: "Нолидж", 2000. - 640 с., ил.

Л18. Тейксейра С., Пачеко К. Delphi 5. Руководство разработчика, том 2. Разработка компонентов и программирование баз данных: Пер. с англ. : Уч. пос. - М.: Издательский дом "Вильямс", 2000. - 992 с., ил. - Парал. тит. англ.

Л19. Культин Н.Б. Программирование в Тurbo Pascal 7.0 и Delphi. - СПб: BHV - Санкт-Петербург, 1997. - 240 с., ил.
1   ...   10   11   12   13   14   15   16   17   18

Похожие:

«Базы данных» Электронное учебное издание Подготовлено коллективом авторов: А. И. Антонов iconМосква Издательство «Физическая культура»
Учебное пособие подготовлено коллективом авторов. Общее руководство и редакция – заведующий кафедрой философии и социологии, доктор...

«Базы данных» Электронное учебное издание Подготовлено коллективом авторов: А. И. Антонов iconСоциология и социология спорта
Учебное пособие подготовлено коллективом авторов. Общее руководство и редакция – заведующий кафедрой философии и социологии, доктор...

«Базы данных» Электронное учебное издание Подготовлено коллективом авторов: А. И. Антонов iconПример создания базы данных «Студенты» Постановка задачи. Выделение...
В окне «Базы данных» выбрать объект «Таблицы», выберите опцию «Создание таблицы в режиме конструктора»

«Базы данных» Электронное учебное издание Подготовлено коллективом авторов: А. И. Антонов iconБазы данных
Для признания исключительного права на базы данных не требуется специальной регистрации (однако предпочтительно осуществлять государственную...

«Базы данных» Электронное учебное издание Подготовлено коллективом авторов: А. И. Антонов iconУчебное пособие Под редакцией профессора Хомоненко А. Д. Санкт-Петербург...
...

«Базы данных» Электронное учебное издание Подготовлено коллективом авторов: А. И. Антонов iconПояснительная записка к курсовой работе по дисциплине «Базы данных»
Метод исследования – моделирование базы данных в программе Microsoft Access 2013

«Базы данных» Электронное учебное издание Подготовлено коллективом авторов: А. И. Антонов iconЛекция №2 по дисциплине «Базы данных»
Процесс проектирования, реализации и поддержания системы базы данных называется жизненным циклом базы данных (жцбд). Процедура создания...

«Базы данных» Электронное учебное издание Подготовлено коллективом авторов: А. И. Антонов iconУрок с элементами деловой игры "Создание базы данных" Карасенко Татьяна Александровна
Место урока в теме – урок проводится в ходе изучения темы “Информационные системы”, после изучения понятий базы данных, видов баз...

«Базы данных» Электронное учебное издание Подготовлено коллективом авторов: А. И. Антонов iconПрактическое задание Задана схема данных базы данных, содержащая...
По заданной схеме данных требуется создать компьютерную реализацию базы данных, выполнив следующие этапы работы: создать базовые...

«Базы данных» Электронное учебное издание Подготовлено коллективом авторов: А. И. Антонов iconБазы данных резюме в интернет сравнительный анализ
России стало быстро увеличиваться. Кадровые агентства начали создавать свои сайты и размещать на них вакансии. В интернет появились...

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск