- Дипломы
- Курсовые
- Рефераты
- Отчеты по практике
- Диссертации
Разработка и защита базы данных модельного агентства
Внимание: Акция! Курсовая работа, Реферат или Отчет по практике за 10 рублей!
Только в текущем месяце у Вас есть шанс получить курсовую работу, реферат или отчет по практике за 10 рублей по вашим требованиям и методичке!
Все, что необходимо - это закрепить заявку (внести аванс) за консультацию по написанию предстоящей дипломной работе, ВКР или магистерской диссертации.
Нет ничего страшного, если дипломная работа, магистерская диссертация или диплом ВКР будет защищаться не в этом году.
Вы можете оформить заявку в рамках акции уже сегодня и как только получите задание на дипломную работу, сообщить нам об этом. Оплаченная сумма будет заморожена на необходимый вам период.
В бланке заказа в поле "Дополнительная информация" следует указать "Курсовая, реферат или отчет за 10 рублей"
Не упустите шанс сэкономить несколько тысяч рублей!
Подробности у специалистов нашей компании.
Только в текущем месяце у Вас есть шанс получить курсовую работу, реферат или отчет по практике за 10 рублей по вашим требованиям и методичке!
Все, что необходимо - это закрепить заявку (внести аванс) за консультацию по написанию предстоящей дипломной работе, ВКР или магистерской диссертации.
Нет ничего страшного, если дипломная работа, магистерская диссертация или диплом ВКР будет защищаться не в этом году.
Вы можете оформить заявку в рамках акции уже сегодня и как только получите задание на дипломную работу, сообщить нам об этом. Оплаченная сумма будет заморожена на необходимый вам период.
В бланке заказа в поле "Дополнительная информация" следует указать "Курсовая, реферат или отчет за 10 рублей"
Не упустите шанс сэкономить несколько тысяч рублей!
Подробности у специалистов нашей компании.
Код работы: | K011022 |
Тема: | Разработка и защита базы данных модельного агентства |
Содержание
24 Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования «Российский экономический университет им. Г.В. Плеханова» Брянский филиал Курсовая работа ПМ __ «____________________________________________________________________» заполняется в случае выполнения курсового проекта (курсовой работы по ПМ) МДК ______ / ОП ____ «______________________________________________________» Специальность ________ «____________________________________________________» Тема: Разработка и защита базы данных модельного агентства шифр работы Пояснительная записка Листов: ______ Руководитель _________________ / И.О. Фамилия / «______» ___________ 2017 г. Исполнитель _________________ / И.О. Фамилия / «______» ___________ 2017 г. 2017 Содержание Стр. Введение 3 Глава 1. Анализ предметной области 4 1.1 Анализ деятельности модельного агентства 4 1.2 Разработка информационной модели данных 6 1.3 Средства реализации 13 Глава 2. Практическая часть 15 2.1 Проектирование базы данных 15 2.2 Разработка клиентского приложения 16 2.3 Защита данных 20 Заключение 21 Список используемой литературы 22 Приложение 1 24 Приложение 2 29 Введение Актуальность темы исследования. Количество информации, которую необходимо обрабатывать, хранить и анализировать для успешного ведения бизнеса непрерывно растет. Для того чтобы повысить эффективность работы с информацией удобнее всего использовать базы данных. Необходимость создания базы данных не обошла и модельные агентства. Проблемой исследования данной курсовой работы является разработка и защита баз данных. Объектом исследования курсовой работы являются базы данных, а предметом исследования база данных модельного агентства. В ходе написания курсовой работы перед автором ставится следующая цель: разработать базу данных для модельного агентства. Для достижения этой цели необходимо решить следующие задачи: провести анализ предметной области; определить структуру базы данных; провести нормализацию базы данных; разработать клиентское приложение для взаимодействия с базой данных; описать порядок защиты базы данных. В ходе проведения исследований в рамках курсовой работы применялись различные информационные методы, в том числе: структурного анализа, информационного анализа, функционального анализа, даталогического проектирования реляционных моделей баз данных, моделирования и пр. Теоретической основой для написания работы послужили труды российских и зарубежных ученых. Глава 1. Анализ предметной области 1.1 Анализ деятельности модельного агентства Для проведения анализа предметной области удобнее всего построить диаграмму бизнес-процессов. Для построения контекстной диаграммы было использовано средство функционального моделирования, реализующее методологию IDEF0 – BPwin. Методология IDEF0 была разработана на основе методологии SADT, автором которой стал Дуглас Росс. Эта методология является совокупностью методов, правил и процедур для построения функциональной модели объекта [4, с. 19]. Чтобы построить модель необходимо определить процесс, который будет моделироваться, входные данные, выходы, управление и механизмы процесса. На рисунке 1 показана схема того, как должны располагаться эти элементы согласно методологии IDEF0. Рисунок 1 – Процесс в методологии IDEF0 Рассмотрим контекстную диаграмму процесса «работа модельного агентства» (рисунок 2). На диаграмме видно, что входными данными процесса являются: данные модели; данные показа. Выходными данными процесса являются: портфолио; график показов; расписание модели. Рисунок 2 – Контекстная диаграмма Так как контекстная диаграмма дает только общие представления об исследуемом процессе, то для более детального понимания выполним декомпозицию контекстной диаграммы (рисунок 3). Рисунок 3 – Декомпозиция контекстной диаграммы В процессе декомпозиции получилось 4 подпроцесса: Обработка данных моделей – в этом процессе происходит прием и анализ данных, которые предоставляет в агентство модель. Прием заказов на подбор модели – в этом процессе происходит прием и анализ данных по показам, для которых нужно подобрать модель. Подбор модели – в этом процессе по условиям, определенным в заказе, подбирается подходящая модель. Составление расписаний – в этом процессе данные о участии моделей в показах анализируются, группируются и систематизируются. 1.2 Разработка информационной модели данных Диаграммы в методологии IDEF0 не дают представления о потоках данных, которые существуют в процессе, поэтому дальнейшую декомпозицию будет проводить в нотации DFD. Главными блоками диаграммы в этой методологии являются: процесс; накопитель данных; поток данных. На рисунке 4 показана диаграмма потоков данных процесса «прием заказов на подбор моделей». Рисунок 4 – Диаграмма потоков данных процесса «прием заказов на подбор моделей» Как видно на диаграмме сотрудник модельного агентства должен заполнить анкету показа, а потом обработать ее для того чтобы выявить требования к модели. Далее рассмотрим диаграмму потоков данных процесса «обработка данных моделей» (рисунок 5). Рисунок 5 – Диаграмма потоков данных процесса «обработка данных моделей» На диаграмме видно, что сотрудник агентства сначала заполняет анкету модели, а потом обрабатывает эту анкету, а также данные о участии модели в показах и создает ее портфолио. Далее будет рассмотрена диаграмма потоков данных процесса «подбор модели» (рисунок 6) Рисунок 6 – Диаграмма потоков данных процесса «подбор модели» На диаграмме видно, что сотрудник агентства по данным о моделях и о показах подбирает список моделей, отвечающих запросам заказчика, и согласовывает окончательный список. На рисунке 7 будет рассмотрена диаграмма потоков данных процесса «составление расписания». Рисунок 6 – Диаграмма потоков данных процесса «составление расписания» На диаграмме видно, что сотрудник агентства составляет расписание для модели, а также общий график показов, учитывая данные зарегистрированных показов и информации о моделях участвующих в них. Проанализировав все диаграммы потоков данных становится понятно, что для хранения данных информационной системы были выделены следующие сущности: модели; показы; специализации; расписание. Для разработки информационной модели данных информационной системы, разрабатываемой в рамках курсовой работы, было использовано средство концептуального моделирования ERwin. ERwin реализует проектирование схемы БД, генерацию ее описания на языке целевой СУБД и реинжиниринг существующей БД [4 c. 111]. Информационные модели данных имеют два уровня: логический и физический. На логическом уровне создается абстрактная модель, которая описывает сущности и атрибуты базы данных, не привязываясь к конкретной СУБД. Обычно логическая модель строится на языке, на котором говорят разработчик и заказчик информационной системы. Физический уровень информационной модели это переработанная модель логического уровня, описанная с учетом требований выбранной СУБД. Список сущностей, выявленный в предыдущем разделе, не является окончательным. В процессе проектирования и нормализации базы данных будут добавляться и другие сущности для рационального хранения данных. Теперь необходимо определить связи между выявленными сущностями. Связи между сущностями принято именовать глаголами или глагольными оборотами. Существует три типа связи между сущностями: один-к-одному – такой тип связи означает, что один экземпляр первой сущности связан только с одним экземпляром второй сущности; один-ко-многим – такой тип связи готовит о том, что экземпляр первой сущности связан со многими экземплярами второй сущности; многие-ко-многим – при этом типе связи один экземпляр первой сущности может быть связан со многими экземплярами второй сущности, а экземпляр второй сущности может быть вязан с несколькими экземплярами первой. Связь между сущностью модели и специализации показана на рисунке 7. Каждая модель может именно несколько специализаций, так и к одной специализации могут принадлежать много моделей, следовательно, связь между этими сущностями многие-ко-многим. Рисунок 7 – Связь между сущностями модели и специализации Так как в базе данных реализовать связь многие-ко-многим нельзя, нужно ввести вспомогательную таблицу, где будут храниться идентификаторы моделей и их специализаций. В итоге получившаяся связь показана на рисунке 8. Рисунок 8 – Разделение связи многие-ко-многим Далее будет определена связь между сущностями модели, показы и расписание. На рисунке 9 показана эта связь. Рисунок 9 – Связь между сущностями модели, расписание и показы Сущности показы и специализации также имеют связь, которая показана на рисунке 10. Рисунок 10 – Связь между сущностями показы и специализации Так как немаловажным фактором выбора модели на показ является ее пол, то необходимо выделить его в отдельную сущность. Эта сущность будет иметь связь с сущностями модели и показы. На рисунке 11 показана связь сущности пол и сущности модели. Рисунок 11 – Связь между сущностями модели и пол На рисунке 12 показана связь сущности пол и сущности показы. Рисунок 12 – Связь между сущностями показы и пол В итоге после определения всех отношений между сущностями получаем диаграмму, показанную на рисунке 13. Рисунок 13 – ER-диаграмма После определения сущностей необходимо определить атрибуты этих сущностей. Атрибутом сущности называется именованная характеристика, являющаяся некоторым свойством сущности. Для удобства отображения информации все выявленные атрибуты сущностей будут записаны в таблицу 1. В приведенной таблице значение в столбце «тип атрибута» имеет следующий смысл: ПК – атрибут является первичным ключом сущности; ВК – атрибут является внешним ключом (ссылкой на ПК родительской сущности); НК – не ключевой атрибут. Также будет определено, может ли каждый из атрибутов принимать значение NULL. Таблица 1 – Атрибуты сущностей Сущность Название атрибута Тип атрибута Тип данных Null Модели Код модели ПК Числовой Запрещено Фамилия НК Текстовый Запрещено Имя НК Текстовый Запрещено Отчество НК Текстовый Разрешено Дата рождения НК Дата Запрещено Номер паспорта НК Текстовый Запрещено Дата выдачи паспорта НК Дата Запрещено Код пола ВК Числовой Запрещено Специализация модели Код специализации ПК/ВК Числовой Запрещено Код модели ПК/ВК Числовой Запрещено Специализация Код специализации ПК Числовой Запрещено Наименование НК Текстовый Запрещено Расписание Код показа ПК/ВК Числовой Запрещено Код модели ПК/ВК Числовой Запрещено Примечание НК Текстовый Разрешено Пол Код пола ПК Числовой Запрещено Наименование НК Текстовый Запрещено Показы Код показа ПК Числовой Запрещено Код специализации ВК Числовой Запрещено Дата показа НК Дата Запрещено Время показа НК Время Запрещено Место проведения НК Текстовый Запрещено Описание НК Текстовый Разрешено Код пола ВК Числовой Запрещено Количество моделей НК Числовой Запрещено 1.3 Средства реализации В качестве СУБД автором курсовой работы была выбрана MS SQL Server 2012. MS SQL Server 2012 это эффективная система, позволяющая хранить и обрабатывать большие массивы данных. Эта СУБД позволяет формировать запросы и осуществлять поиск необходимых данных, синхронизировать информацию, а также выполнять аналитическую обработку данных и получать разнообразные отчеты. Среди основных преимуществ MS SQL Server 2012 можно выделить следующие: производится шифрование не только всей базы данных, но и всех файлов, в том числе и журналов; благодаря сжатию исходящего потока минимизируется нагрузка на сеть и обеспечивается оптимальная производительность; управление производится на основе политик, что дает возможность удобно управлять не только одним, но и несколькими экземплярами СУБД; предоставление разработчикам баз данных большого количества новых функций. В качестве средства разработки клиентского приложения была выбрана среда программирования Delphi 2010. Одним из решающих факторов выбора среды стало то, что наиболее изученным автором курсовой работы был язык программирования Pascal. Данная среда программирования обладает рядом важных особенностей: возможность автоматической генерации кода для элементов интерфейса; возможности визуального проектирования интерфейса; большой выбор стандартных компонентов и компонентов для работы с базой данных; возможность проверки кода на лету. Для разрабатываемого приложения очень важно наличие в среде программирования дизайнера форм, потому что без него разработка интерфейса заняла бы очень много времени. В Delphi собрано много инструментов для работы с базами данных. Для работы с базой данных в рамках курсовой работы будет использована технология ADO. Технология ADO представляет иерархическую модель объектов для доступа к различным OLE DB-провайдерам данных. Объектная модель ADO включает объекты, обеспечивающие соединение с провайдером данных, создание SQL-запросов к данным и т.д. Основными объектами в этой модели являются: набор данных; соединение для связи с провайдером данных; команда, выполняющая процедуры. В Delphi 2010 компоненты для доступа к данным с использованием технологии ADO располагаются в группе DBGo. Тут находятся 7 компонентов: TADOConnection - используется для указания базы данных и работы транзакциями. TADOTable используется для доступа к хранилищам данных. TADOQuery позволяет выполнять SQL-запросы. TADOStoredProc позволяет обращаться к хранимым процедурам. TADODataSet предназначен для представления набора данных из хранилища ADO. TADOCommand - позволяет выполнять команды на языке провайдера данных. Глава 2. Практическая часть 2.1 Проектирование базы данных На основе выделенных в первой главе сущностей была разработана информационно-логическая модель уровня атрибутов, в которой представлены не только сущности, но и атрибуты, входящие в них. В каждой сущности выделен ключевой атрибут – это код записи. Первичный ключ служит для однозначной идентификации экземпляра сущности, а также для связи сущности с другими сущностями в схеме (рисунок 14). Рисунок 14 – Логическая модель базы данных Эта модель станет основой для проектирования базы данных. Используя разработанные модели предметной области можно разработать физическую структуру базы данных, и даже автоматически сгенерировать ее. При преобразовании инфологической модели в даталогическую используются такие правила: Каждая сущность становится таблицей. Каждый атрибут сущности становится столбцом таблицы. Ключевой атрибут становится ключом таблицы. Связи между сущностями становятся связями между таблицами. В соответствии с этими правилами на основе имеющейся информационно-логической модели была построена физическая модель данных (рисунок 10). Рисунок 15 – Физическая модель базы данных Для генерации скрипта заполнения базы данных следует выполнить команду главного меню ERWin Tools/Forward Engineer/Schema generation. После чего на экране появляется окно, в котором требуется выполнить настройки механизма генерации скрипта заполнения базы данных. Настройка заключается в выборе объектов, которые требуется создавать при выполнении скрипта [4]. После настройки механизма генерации схемы базы данных требуется нажать кнопку «Preview» диалога и в появившемся окне сохранить полученный скрипт в файл с расширением .Sql . Текст скрипта для генерации базы данных приведен в приложении 1. 2.2 Разработка клиентского приложения Для взаимодействия с базой данных было разработано клиентское приложение, главное окно которого показано на рисунке 16. Рисунок 15 – Главное окно приложения Для редактирования анкет моделей было разработана форма, показанная на рисунке 16. Рисунок 16 – Форма анкеты модели Форма редактирования анкеты показа представлена на рисунке 17. Рисунок 17 – Форма анкеты показа Для редактирования справочника специализаций используется форма, показанная на рисунке 18. Рисунок 18 – Форма справочника специализаций Для просмотра показов разработана форма, представленная на рисунке 19. Рисунок 19 – Расписание показов Для просмотра расписания модели создана форма, показанная на рисунке 20. Рисунок20 – Расписание модели Для записи модели на показ разработана форма, показанная на рисунке 21. Рисунок21 – Форма для записи на показ Для указания специализации модели создана форма, представленная на рисунке 22. Рисунок22 – Форма для указания специализации 2.3 Защита данных Для защиты данных необходимо создать нового пользователя и присвоить ему пароль. Для создания пользователя необходимо выполнить следующий скрипт: CREATE LOGIN usr WITH PASSWORD = '123'; GO CREATE USER usr FOR LOGIN usr; GO После создания пользователя ему необходимо дать разрешение на чтение и запись в таблицы базы данных. Для входа в клиентское приложение необходимо добавить форму авторизации, в которой будет запрашиваться имя сервера базы данных, а также логин и пароль пользователя. Заключение В ходе написания курсовой работы была разработана база данных для модельного агентства, а также клиентское приложение для работы с ней. В ходе анализа предметной области были выявлены основные сущности и связи между ними. После определения сущностей были определены их атрибуты и построена логическая модель данных. В качестве СУБД был выбран SQL Server 2012, а для разработки клиентского приложения использовалась Delphi 2010. В ходе проектирования базы данных в Erwin Data Modeler была построена физическая модель данных и сгенерирован скрипт для создания всех таблиц и связи между ними. Для взаимодействия с базой данных разработано клиентское приложение. В дальнейшем приложение можно доработать, а базу данных расширить, добавив возможность ведения учета документооборота, возникающего при заключении договоров с моделями и заказчиками. Список используемой литературы Алешин Л.И., Максимов Н.В. Информационные технологии: учебное пособие. М.: МФПА, 2004. 512 с. Архангельский А.Я. Программирование в Delphi : 3-е изд., переработ. и дополн. М.: БИНОМ, 2011. 1072 с. Бабич А.В. UML: Первое знакомство. М.: Бином, 2010. 176с Вендров А.М. CASE-технологии. Современные методы и средства проектирования информационных систем: учебник. М.: Финансы и статистика, 2012. 478 с. Гамма Э. и др. Приемы объектно-ориентированного проектирования. Паттерны проектирования. СПб.: Питер, 2010. 366 с. Карвальо Л. Windows Server 2012 Hyper-V. Книга рецептов / Л. Карвальо. М.: ДМК Пресс,2015. 302 с. Маклаков С.В. BPwin ERwin CASE-средства разработки ИС. М.: Диалог-МИФИ, 2015. 304 стр. Марков Е., Дарахвелидзе П. Delphi 2005 для Win32 . СПб.: БХВ-Петербург, 2005. 1136 с. Мезенцев К.Н. Автоматизированные информационные системы. М.: Академия, 2011. 176 с. Осипов Д. Базы данных и Delphi. Теория и практика. СПб.: БХВ-Петербург, 2011. 752 с. Петкович Д. Microsoft SQL Server 2012. Руководство для начинающих. СПб.: БХВ-Петербург, 2013. 816 с. Сорокин А.В. Delphi. Разработка баз данных. СПб.: Питер, 2010. 477 с. Станек У. Microsoft SQL Server 2012. Справочник администратора. СПб.: БХВ-Петербург, 2013. 576 с. Станек У. Microsoft Windows Server 2012 R2. Хранение, безопасность, сетевые компоненты. Справочник администратора. СПб.: БХВ-Петербург, 2015. 416 с. Сухарев М. Delphi. Полное руководство. Включая версию 2010. М.: Наука и техника, 2010. 1040 с. Трофимов С. А. CASE-технологии. Практическая работа в Rational Rose. М.: Бином-Пресс, 2015. 272 с. Фаронов В. В. Delphi. Программирование на языке высокого уровня: Учебник для вузов. СПб.: Питер, 2012. 640 с. Фленов М. Библия Delphi 3-е издание. СПб.: БХВ-Петербург, 2011. 674 с. Фуфаев Э.В. Базы данных – 7-е изд. М.: Академия, 2012. 320 с. Харрингтон Д. Проектирование объектно-ориентированных баз данных. М.: ДМК Пресс, 2012. 272 с. Приложение 1 Скрипт для создания базы данных CREATE TABLE model_to_view ( ID_view integer NOT NULL , ID_models integer NOT NULL , prim varchar(200) ) go ALTER TABLE model_to_view ADD CONSTRAINT XPKmtv PRIMARY KEY NONCLUSTERED (ID_view ASC,ID_models ASC) go CREATE TABLE models ( ID_models integer IDENTITY(1,1) NOT NULL , Fam varchar(20) NOT NULL , Im varchar(20) NOT NULL , Ot varchar(20) , dr datetime NOT NULL , num_doc char(18) NOT NULL , dt_doc datetime NOT NULL , ID_sex integer ) go ALTER TABLE models ADD CONSTRAINT XPKmodel PRIMARY KEY NONCLUSTERED (ID_models ASC) go CREATE TABLE sex ( ID_sex integer NOT NULL , name_sex varchar(1) ) go ALTER TABLE sex ADD CONSTRAINT XPKsex PRIMARY KEY NONCLUSTERED (ID_sex ASC) go CREATE TABLE spec ( ID_spec integer IDENTITY(1,1) NOT NULL , name_spec varchar(50) NOT NULL ) go ALTER TABLE spec ADD CONSTRAINT XPKspec PRIMARY KEY NONCLUSTERED (ID_spec ASC) go CREATE TABLE spec_to_model ( ID_spec integer NOT NULL , ID_models integer NOT NULL ) go ALTER TABLE spec_to_model ADD CONSTRAINT XPKstm PRIMARY KEY NONCLUSTERED (ID_spec ASC,ID_models ASC) go CREATE TABLE views ( ID_view integer IDENTITY(1,1) NOT NULL , ID_spec integer NOT NULL , dt datetime NOT NULL , time_view datetime NOT NULL , pl varchar(200) NOT NULL , descript varchar(200) , ID_sex integer ) go ALTER TABLE views ADD CONSTRAINT XPKПоказы PRIMARY KEY NONCLUSTERED (ID_view ASC) go ALTER TABLE model_to_view ADD CONSTRAINT R_7 FOREIGN KEY (ID_view) REFERENCES views(ID_view) ON DELETE NO ACTION ON UPDATE NO ACTION go ALTER TABLE model_to_view ADD CONSTRAINT R_8 FOREIGN KEY (ID_models) REFERENCES models(ID_models) ON DELETE NO ACTION ON UPDATE NO ACTION go ALTER TABLE models ADD CONSTRAINT R_6 FOREIGN KEY (ID_sex) REFERENCES sex(ID_sex) ON DELETE NO ACTION ON UPDATE NO ACTION go ALTER TABLE spec_to_model ADD CONSTRAINT R_1 FOREIGN KEY (ID_spec) REFERENCES spec(ID_spec) ON DELETE NO ACTION ON UPDATE NO ACTION go ALTER TABLE spec_to_model ADD CONSTRAINT R_2 FOREIGN KEY (ID_models) REFERENCES models(ID_models) ON DELETE NO ACTION ON UPDATE NO ACTION go ALTER TABLE views ADD CONSTRAINT R_3 FOREIGN KEY (ID_spec) REFERENCES spec(ID_spec) ON DELETE NO ACTION ON UPDATE NO ACTION go ALTER TABLE views ADD CONSTRAINT R_5 FOREIGN KEY (ID_sex) REFERENCES sex(ID_sex) ON DELETE NO ACTION ON UPDATE NO ACTION go USE [modelagent] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER TRIGGER [dbo].[mtvins] ON [dbo].[model_to_view] INSTEAD OF INSERT AS BEGIN SET NOCOUNT ON; if exists(select * from inserted i, model_to_view m where i.ID_models=m.ID_models and i.ID_view=m.ID_view) begin ROLLBACK TRAN PRINT 'Модель уже записана на этот показ'; Return; end else begin declare @col int; declare @colview int; declare @id int; select @id=ID_view from inserted; select @colview=col from dbo.views where ID_view=@id; select @col=count(*) from model_to_view where ID_view=@id; if @col=@colview begin ROLLBACK TRAN PRINT 'На этот показ набрано достаточно моделей '; Return; end else begin declare @idmodel int; declare @spec int; select @idmodel=ID_models from inserted; select @spec=ID_spec from spec_to_model where ID_models=@idmodel; if not exists(select * from dbo.views where ID_view=@id and ID_spec=@spec) begin ROLLBACK TRAN PRINT 'Специализации этой модели не соответствуют типу показа!'; Return; end else insert into model_to_view select * from inserted; end; end; END Приложение 2 Исходный текст программы unit Main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, ToolWin, ComCtrls, Grids, DBGrids, ImgList; type TForm1 = class(TForm) MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; N7: TMenuItem; N8: TMenuItem; N9: TMenuItem; N10: TMenuItem; N11: TMenuItem; N12: TMenuItem; DBGrid1: TDBGrid; ToolBar1: TToolBar; ToolButton1: TToolButton; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton4: TToolButton; ToolButton5: TToolButton; ImageList1: TImageList; PopupMenu1: TPopupMenu; N5: TMenuItem; procedure N7Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure DBGrid1DblClick(Sender: TObject); procedure N5Click(Sender: TObject); procedure N9Click(Sender: TObject); procedure N10Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses DataModul, spec, anketamodel, anketaview, views, ModelToView; {$R *.dfm} procedure TForm1.DBGrid1DblClick(Sender: TObject); begin DM.TabModels.Edit; Form3.ShowModal; end; procedure TForm1.N10Click(Sender: TObject); begin Form6.ShowModal; end; procedure TForm1.N2Click(Sender: TObject); begin DM.TabModels.Insert; Form3.ShowModal; end; procedure TForm1.N3Click(Sender: TObject); begin DM.TabViews.Insert; Form4.ShowModal; end; procedure TForm1.N5Click(Sender: TObject); var bClick: Integer; begin bClick := MessageDlg('¬ы действительно хотите удалить эту запись?',mtCustom, [mbOk, mbCancel], 0); If bClick = mrCancel then Exit; If DM.TabModels.RecordCount = 0 then Exit; DM.TabModels.Delete; end; procedure TForm1.N7Click(Sender: TObject); begin DM.TabSpec.Insert; Form2.ShowModal; end; procedure TForm1.N9Click(Sender: TObject); begin Form5.ShowModal; end; end. unit DataModul; interface uses SysUtils, Classes, DB, ADODB; type TDM = class(TDataModule) Conn: TADOConnection; TabMTV: TADOTable; TabModels: TADOTable; TabSex: TADOTable; TabSpec: TADOTable; TabSTM: TADOTable; TabViews: TADOTable; DSMTV: TDataSource; DSModel: TDataSource; DSViews: TDataSource; DSSTM: TDataSource; DSSpec: TDataSource; TabSpecID_spec: TAutoIncField; TabSpecname_spec: TStringField; TabModelsID_models: TAutoIncField; TabModelsFam: TStringField; TabModelsIm: TStringField; TabModelsOt: TStringField; TabModelsdr: TDateTimeField; TabModelsnum_doc: TStringField; TabModelsdt_doc: TDateTimeField; TabModelsID_sex: TIntegerField; TabModelsSex: TStringField; DSSex: TDataSource; TabViewsID_view: TAutoIncField; TabViewsID_spec: TIntegerField; TabViewsdt: TDateTimeField; TabViewspl: TStringField; TabViewsdescript: TStringField; TabViewsID_sex: TIntegerField; TabViewscol: TIntegerField; TabViewsspec: TStringField; TabViewssex: TStringField; TabViewstime_view: TWideStringField; TabMTVID_view: TIntegerField; TabMTVID_models: TIntegerField; TabMTVprim: TStringField; TabMTVaddress: TStringField; TabMTVdt: TDateField; TabMTVtm: TStringField; QSQL: TADOQuery; procedure DataModuleCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var DM: TDM; user,pwd,host: string; implementation {$R *.dfm} procedure TDM.DataModuleCreate(Sender: TObject); begin Conn.Connected := false; Conn.ConnectionString := 'Provider=SQLOLEDB.1;Password='+pwd+';Persist Security Info=True;User ID='+user+';Initial Catalog=modelagent;Data Source='+host; Conn.Connected := true; TabMTV.Active := true; TabModels.Active := true; TabSex.Active := true; TabSpec.Active := true; TabSTM.Active := true; TabViews.Active := true; end; end. unit autoriz; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm9 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } class function Execute : boolean; end; var Form9: TForm9; implementation uses DataModul; {$R *.dfm} procedure TForm9.Button2Click(Sender: TObject); begin ModalResult := mrAbort; end; class function TForm9.Execute: boolean; begin with TForm9.Create(nil) do try Result := ShowModal = mrOk; finally Free; end; end; procedure TForm9.Button1Click(Sender: TObject); begin user:=Edit2.Text; pwd:=Edit3.Text; host:=Edit1.Text; ModalResult := mrOK; end; end........................ |
Для получения полной версии работы нажмите на кнопку "Узнать цену"
Узнать цену | Каталог работ |
Похожие работы: