Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Компоненты формы модуля Unit1




Установка отношений между таблицами БД

Создание нового приложения

Схема данных (связывание таблиц)

Установим связи между таблицами, как показано на рис. 1.5.

Рис.1.5. Схема данных (связь таблиц отношениями "один ко многим")

Таблица Список будет содержать список групп инструментов (нутромеры, калибры, микрометры, штангенциркули и т. д). В таблице Инструменты будут размещены данные по инструментам каждой такой группы. Следовательно, нужно установить между этими таблицами такую связь, когда одной записи таблицы Список будет соответствовать несколько записей из таблицы Инструменты. В таблице Инструменты есть поле ListId (номер группы инструментов, соответствующий значению ключевого поля в таблице Список). С помощью этого поля устанавливается связь "один ко многим" между главной таблицей Список и подчиненной ей таблицей Инструменты. Чтобы установить такую связь ухватите ключевое поле Id таблицы Список и положите его на поле ListId таблицы Инструменты.

В таблице Характеристики будут расположены данные о конкретных инструментах таблицы Инструменты. Эти данные могут быть разными. Например, для штангенциркулей могут быть такие данные, как длина и размер губок, для нутромеров - диапазон измерения, цена деления, класс точности, предел погрешности измерения, и т. д. Понятно, что одной записи в таблице Инструменты может соответствовать несколько таких записей в таблице Характеристики, то есть в этой паре таблиц первая будет главной, а вторая подчиненной. Чтобы иметь возможность установить такую связь в таблице Характеристики предусмотрено поле InstId (номер инструмента). По нему и следует установить связь этих таблиц так, как показано на рис. 1.5.

В таблице Поверка будет отображаться история поверок конкретного инструмента. В ней тоже есть поле InstId для связывания ее с главной по отношению к ней таблицей Инструменты. Установите связь между этими таблицами так, как показано на рис. 1.5.

База данных спроектирована. Сохраните все данные и закройте СУБД Microsoft Access. Дальнейшие работы с этой БД будут выполнены с помощью программы, которая подлежит разработке в среде визуального программирования Delphi 7.

 

 

Часть II. Разработка СУБД "Инструменты и приборы" в среде Delphi с использованием технологии ADO

Технология ADO (ActiveX Data Objects) во многом похожа на BDE. Обе эти технологии проектировались для решения схожих проблем, обе технологии поддерживают навигацию по наборам данных, оперирование с наборами данных. ADO — более новая технология. Существенно, что ADO позволяет получить доступ к данным форматов Microsoft (MDAC), например,к базам данных СУБД Microsoft Access. Это одна из существенных причин создания в Delphi баз данных, основанных не на BDE, которая хотя и используется, но не развивается, а технологии ADO.

Запустите Delphi и создайте новое приложение. Сохраните модуль Unit1 и проект приложения под именем Theme2. dpr в папке Theme2, в которой размещен файл БД Инструменты.accdb.

2.2. Привязка БД "Инструменты.accdb" к приложению

 

Командой File / New / Data Module добавьте в проект новый модуль данных. Дайте ему имя dm и сохраните его под именем DatMod.pas в папке Theme2 (рис. 2.1).

Рис. 2.1. Окно модуля данных

Положите на этот модуль компонент ADOConnection (закладка ADO). Компонент ADOConnection1 позволит привязать БД Инструменты.accdb к приложению.

Дважды щелкните на этом компоненте. При этом откроется окно, показанное на рис. 2.2. В нем установите источник связи, выбрав Use Connection String.

Рис. 2.2. Окно модуля данных

Теперь нажмите кнопку Build..., перейдите на закладку Поставщик данных и выберите строку Microsoft Office 12.0 Access Database Engine Provider (рис. 2.3).

Рис. 2.3. Окно свойств связи с данными

Перейдите за закладку Подключение, введите в строку Источник данных имя БД, как показано на рис. 2.4. Введите имя пользователя БД, например Admin, и установите галочку на опции Пустой пароль.

Рис. 2.4. Подключение БД Инструменты.accdb к приложению

После этого нажмите кнопку Проверить подключение чтоб проверить подключается ли БД Инструменты.accdb. Если будет дан ответ " Проверка подключения выполнена ", то можно продолжить работу над приложением. Закройте окна подключения к БД.

2.3. Связывание таблиц БД "Инструменты.accdb" с приложением

Положите на модуль данных компоненты ADOTable (таблица ADO, закладка ADO) и DataSource (источника данных, закладка DataAccess). Дайте этим компонентам имена TaList и dsList, соответственно (см. рис. 2.1, 2.5).

Привяжите при помощи Инспектора объектов компонент TaList к компоненту ADOConnetion1 (рис. 2.5). Для этого установите свойства Connection и TableName компонента так, как показано на рис. 2.5.

Рис. 2.5. Установка свойств компонента TaList

Этот компонент позволит установить связь с таблицей " Список " базы данных. Установите свойство DataSet компонента dsList в значение TaList.

Добавьте поля таблицы. Для этого дважды щелкните на компоненте TaList и выполните команду контекстного меню Addallfields (добавить все поля). Эта ситуация показана на рис. 2.6.

Рис. 2.6. Добавление полей в компонент TaList

Поступая аналогичным образом, добавьте соответсвующие компоненты для таблиц "Инструменты" (компоненты TaInstr, dsInstr), "Характеристики" (компоненты TaChar, dsChar"Поверка" (компоненты TaPover, dsPover).

Таблица TaInst является подчиненной по отношению к таблице TaList. Установим это отношение. Установите значение свойства MasterSource (источник главной таблицы) для компонента TaInst в dsList. Щелкните затем на кнопке свойства MasterFillds. В появившемся окне (рис.2.7) выберите поле Id главной таблицы и поле ListId подчиненной таблицы и нажмите кнопку Add.

Рис. 2.7. Добавление полей в компонент TaList

Действуя аналогичным образом, установите отношения для подчиненных таблиц TaChar и TaPover, для которых главной является таблица TaInst.

На модуле данных присутствует компонент ADOQuery1. Это компонент, который позволяет создавать запросы. О. его использовании будет упомянуто в разделе подготовки запросов.

Окончательный вид этого окна показан на рис. 2.8.

Рис. 2.8. Окончательный вид формы модуля Unit1

Измените заголовок окна на текст БД "Инструменты". Работа студента группы... Положите на форму четыре компонента GroupBox (закладка Standard) и дайте им заголовки с названиями таблиц БД (на рис. 2.8 заголовки выделены коричневым цветом). Каждый такой бокс потребуется для размещения визуальных компонентов соответствующей таблицы БД. Положите в каждый бокс по сетке DbGrid (закладка Data Controls). Свяжите их свойство DataSource с соответствующими источниками данных и добавьте в сетки те поля, которые видны на рис. 2.8.

В бокс списка положите компонент DbMemo (закладка Data Controls). Свяжите его с источником данных dsList и полем "Описание". В боксы таблиц инструментов и поверки положите по компоненту DbImage. Они потребуются для визуализации изображений инструментов и фотографий поверщиков. Над ними положите по метке с поясняющими надписями и кнопками с изображением . Эти кнопки потребуются для ввода соответствующих изображений.

Положите на форму еще одну кнопку . Она потребуется для перехода к работе с запросами. Кроме того положите компонент OpenPictureDialog (закладка Dialogs) . Он потребуется для выбора и открытия изображений.




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 539; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.