88885

Разработка автоматизированного рабочего места работника библиотеки ВПТ

Дипломная

Информатика, кибернетика и программирование

Для успешного функционирования и решения ею поставленных задач необходима ПЭВМ типа IBM PC с автоматизированной системой серверной части процессором Intel Pentium или аналогичных моделей с тактовой частотой от 1800 МГц и выше, объёмом оперативной памяти 512 Мб и более, SVGA...

Русский

2015-05-05

2.77 MB

9 чел.

Корпоративный портал библиотеки

СОДЕРЖАНИЕ

Введение                                                                                                             6

1 Теоретический раздел                                                                                     7

1.1 Постановка задачи                                                                                       7

1.2 Описание основных функциональных подсистем                                    8

1.3 Обоснование и выбор СУБД                                                                       9

1.4 Обоснование и выбор инструментария разработки форм                     12

1.5 Инфологическое моделирование предметной области                          14

1.6 Датологическое проектирование                                                              17

1.7 Разработка алгоритма решения задачи                                                    21

2 Экспериментальный раздел                                                                         25

2.1 Создание базы данных, заполнение таблиц данными                            25

2.2 Создание запросов и фильтров                                                                 26

2.3 Создание форм                                                                                           28

2.4 Обеспечение безопасности доступа к данным                                        32

2.5 Правила и порядок работы с базой данных                                             33

2.6 Назначение и возможности программного средства                              34

3 Экономическая часть                                                                                    36

3.1 Использование вычислительной техники в учебном процессе             36

3.2 Расчет себестоимости и цены программы                                               38

Заключение                                                                                                       42

Литература                                                                                                        43

Приложение                                                                                                      44


ВВЕДЕНИЕ

В условиях развития современного общества информационные технологии глубоко проникают в жизнь людей. Сейчас трудно найти сферу, в которой не используются информационные технологии.

В процессе общения с другими людьми мы передаем и получаем информацию. В информационном обществе главным ресурсом является информация о самых различных процессах и явлениях, что дает возможность эффективно и оптимально строить любую деятельность. В таком обществе конкретные специалисты заняты в сфере обработки информации в своей повседневной производственной деятельности.

Основные идеи современной информационной технологии базируются на концепции, согласно которой данные должны быть организованы в базы данных с целью адекватного отображения изменяющегося реального мира и удовлетворения информационных потребностей пользователей. Эти базы данных создаются и функционируют под управлением специальных программных комплексов, называемых системами управления базами данных (СУБД).

Свой вклад в информационные технологии я решил внести, создав автоматизированную информационную систему «База данных библиотеки ВПТ».

Целью выпускной квалификационной работы является разработка автоматизированного рабочего места работника библиотеки ВПТ.

Объектом исследования выпускной квалификационной работы является СПО Вяземский Политехнический техникум.

Предметом исследования выпускной квалификационной работы является деятельность работников библиотеки Вяземского Политехнического техникума.


1 ТЕОРЕТИЧЕСКИЙ РАЗДЕЛ

1.1 Постановка задачи

Разработать корпоративный портал библиотеки Вяземского политехнического техникума (ВПТ). Для этого необходимо создать базу данных, на основе которой создать информационную систему в виде веб-сайта.

Портал сделан в виде ASP.NET приложения. ASP.NET — это технология создания динамических веб страниц. Она является частью платформы .NET Framework. Приложения ASP.NET можно писать на любом языке, совместимом с технологиями .NET. В их число входят Visual Basic,C# и J#. Страницы ASP.NET (веб-формы) проходят компиляцию, что обеспечивает лучшую производительность по сравнению с приложениями на основе сценариев. Веб -формы позволяют создавать многофункциональные веб - страницы. При разработке можно использовать серверные элементы управления. ASP.NET для создания общих элементов пользовательского интерфейса и программирования общих задач для них. Процесс создания веб-форм ускоряется за счет использования стандартных встроенных компонентов, таких как представления GridView и DetailsView, и пользовательских компонентов, помогающих при написании кода страницы.

Интерфейс программ должен быть понятным и легкодоступным даже не опытным пользователям компьютеров.

Процесс создания базы данных можно представить как последовательность следующих шагов:

  •  регистрация сервера;
  •  создания файла базы данных;
  •  выполнение SQL-запросов.

Чтобы перейти к конечной цели надо разобраться со следующими задачами:

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

1.2 Описание основных функциональных подсистем

Автоматизированная система – это система, состоящая из персонала и комплекса средств автоматизации его деятельности, реализующая информационную технологию выполнения установленных задач.

Для успешного функционирования и решения ею поставленных задач необходима  ПЭВМ типа IBM PC с автоматизированной системой серверной части процессором Intel Pentium или аналогичных моделей с тактовой частотой от 1800 МГц и выше, объёмом оперативной памяти 512 Мб и более, SVGA, свободным пространством на жёстком диске 1000 Мб и более. Необходимо наличие внешних устройств: монитора, клавиатуры, мыши. АРМ может работать на ПЭВМ, на которой установлена любая операционная система семейства Windows Vista Home Premium, Windows Vista Business, Windows Vista Enterprise и Windows Vista Ultimate32-разрядный (x86) или 64-разрядный (x64). Поскольку информационное обеспечение представляет собой файл СУБД SQL Server с расширением .mdb, то для его функционирования необходима версия указанной СУБД. Программное обеспечение АРМ представляет собой исполняемый файл, созданный средствами интегрированной среды разработки Microsoft Visual Studio 2008.

Лингвистическое обеспечение АРМ включает, прежде всего, язык управления и манипуляции данными – язык SQL, язык программирования

С# – язык, на котором выполнен интерфейс программного обеспечения АРМ. А также словарь, содержащий все наименования файлов базы данных, их полей, префиксов и ключей, обозначенных набором букв латинского алфавита.

Информационное обеспечение автоматизированной системы серверной части включает базу данных, организованную с помощью СУБД SQL Server.

Эргономическое обеспечение (ЭО) как совокупность методов и средств, используемых на разных этапах разработки и функционирования АИТ, предназначено для создания оптимальных условий высокоэффективной и безошибочной деятельности человека с АРМ.

При работе пользователя с автоматизированной системой клиентской части упрощена и оптимизирована процедура ввода информации за счёт применяемой совокупности справочников, которые создаются и поддерживаются пользователем модели АРМ в адекватном состоянии, а затем многократно используются.

Математическое обеспечение АРМ включает типовые алгоритмы работы с базой данных, алгоритмы выполнения запросов на поиск информации и формирования отчётности.

1.3 Обоснование и выбор СУБД

После того, как построена инфологическая модель исследуемой предметной области, необходимо определить инструментальные средства для создания базы данных (БД) и приложения по её ведению. Для создания базы данных необходимо выбрать систему управления базой данных (СУБД), а прикладную программу можно создать на языке программирования и манипулирования данными, а также с помощью средств быстрой разработки приложений баз данных, встроенных в СУБД, или с помощью других инструментальных средств.

Кроме того, в рамках данного этапа проектирования базы данных и её приложения необходимо не только определить инструментальные средства для их реализации, но и привести обоснование сделанного выбора. Пример, обоснования выбора СУБД SQL Server для разработки базы данных и приложения приводится ниже.

Назначение любой системы управления базами данных – создание, ведение и обработка баз данных. Как в текстовом редакторе можно подготовить много разных документов, так в СУБД SQL Server можно создать много разных баз данных. Для проектирования базы данных выбирается СУБД SQL Server, которая предоставляет значительные возможности по работе с хранящимися данными, их обработке и совместному использованию.

База данных под управлением СУБД SQL Server – это файл с расширением .MDB, включающий в себя классы объектов:

  •  таблицы для хранения данных;
  •  формы для ввода и редактирования БД в интерактивном режиме;
  •  запросы для обработки таблиц и других запросов;
  •  страница доступа конструктора;
  •  модули на базовом языке программирования C# для обработки данных;
  •  отчеты для вывода результатов обработки данных.

СУБД SQL Server позволяет создавать БД различного объема, с которыми работают в монопольном режиме или режиме коллективного доступа.

СУБД SQL Server содержит много новых функций для работы в сети Интернет, это: страницы доступа к данным, вывод таблиц запросов, добавление полей-ссылок на объекты БД. В СУБД SQL Server усовершенствована функция создания и перехода по гиперссылкам. СУБД SQL Server поддерживает новый стандарт доступа к данным OLE DB, благодаря которому можно создавать полноценные клиент-серверные приложения. Клиентская часть приложений разрабатывается с использованием средств SQL Server, серверная часть – с помощью Microsoft SQL Server.

СУБД SQL Server позволяет производить обмен данными между компонентами системы и другими приложениями Windows, поддерживается экспорт и импорт данных из текстовых файлов и электронных таблиц. При коллективном использовании СУБД SQL Server дает возможность защитить информацию так, что разные пользователи имеют разные права по просмотру или изменению информации: при этом предусмотрены средства обеспечения целостности данных.

Многие программные объекты в SQL Server совпадают с физическими объектами базы данных, такими как таблицы, формы, отчеты. Для названия составных объектов, которые включают в себя совокупность более простых объектов, используется термин семейство. Например, объект отчет входит в семейство отчеты. Помимо «видимых» объектов существует и большое количество «скрытых» объектов, управлять которыми можно только из программных приложений.

В SQL Server существуют два типа модулей: стандартные и модули класса. Стандартные модули содержат процедуры и функции, которые могут быть вызваны из любого окна базы данных. Как правило, такие модули содержат программный код универсального характера, предназначенный для применения в различных местах текущего приложения или даже в различных приложениях.

При создании конкретного объекта, являющегося экземпляром такого класса, любые процедуры, определенные в модуле, становятся свойствами и методами этого объекта.

Модули форм и модули отчетов являются модулями класса, связанными с определенной формой или отчетом. Заметим, что в ранних версиях SQL Server они являлись единственно возможным инструментом объектно-ориентированного программирования. Эти модули содержат процедуры обработки событий, запускаемых в ответ на их возникновение в форме или отчете. Процедуры обработки событий используются для управления поведением формы или отчета и их откликом на события, например такие, как нажатие кнопки.

Важнейшие характеристики данной СУБД - это:

  •  простота администрирования;
  •  возможность подключения к Web;
  •  быстродействие и функциональные возможности механизма сервера СУБД.

В комплект средств административного управления данной СУБД входит целый набор специальных мастеров и средств автоматической настройки параметров конфигурации. Также данная БД оснащена замечательными средствами тиражирования, позволяющими синхронизировать данные ПК с информацией БД и наоборот. Входящий в комплект поставки сервер OLAP дает возможность сохранять и анализировать все имеющиеся у пользователя данные. В принципе данная СУБД представляет собой современную полнофункциональную база данных, которая идеально подходит для малых и средних организаций. Общемировой тенденцией в XXI веке стал практически повсеместный переход на платформу LINUX, а SQL Server функционирует только в среде Windows. Поэтому использование SQL Server целесообразно, по моему мнению, только если для доступа к содержимому БД используется исключительно стандарт ODBC.

1.4 Обоснование и выбор инструментария разработки форм

При создании информационной системы я использовал язык С# (произносится "си-шарп"), который является одной из самых последних разработок компании Microsoft. Язык С# — это не просто еще один язык программирования, но является одним из важнейших компонентов новой платформы Microsoft .NET Framework. Язык C# взял от других языков все самое лучшее, что накопилось в них, а также использует при этом новейшие разработки в области программирования.

Создателем языка является сотрудник Microsoft Андреас Хейлсберг. Он стал известным в мире программистов задолго до того, как пришел в Microsoft. Хейлсберг входил в число ведущих разработчиков одной из самых популярных сред разработки – Delphi. В Microsoft он участвовал в создании версии JavaJ++, так что опыта в написании языков и сред программирования ему не занимать. Как отмечал сам Андереас Хейлсберг, С# создавался как язык компонентного программирования, и в этом одного из главных достоинства языка, направленное на возможность повторного использования созданных компонентов. Из других объективных факторов отметим следующие:

  •  C# создавался параллельно с каркасом с каркасом Framework .Net и в полной мере учитывает все его возможности – как FCL, так и CLR;
  •  C# является  полностью объектно-ориентированным языком, где даже типы, встроенные в язык, представлены классами;
  •  C# является мощным объектным языком с возможностями наследования и универсализации;
  •  C# является наследником языков С/С++, сохраняя лучшие черты этих популярных языков программирования. Общий с этими языками синтаксис, знакомые операторы языка облегчают переход программистов от С++ к C#;
  •  сохранив основные черты своего великого родителя, язык стал проще и надежнее. Простота и надежность, главным образом, связаны с тем, что на C# хотя и допускаются, но не поощряются такие опасные свойства C++ как указатели, адресация, разыменование, адресная арифметика;
  •  благодаря каркасу Framework.Net, ставшему надстройкой над операционной системой, программисты C# получают те же преимущества работы с виртуальной машиной, что и программисты Java. Эффективность кода даже повышается, поскольку исполнительная среда CLR представляет собой компилятор промежуточного языка, в то время как виртуальная  Java-машина является интерпретатором байт-кода;
  •  мощная библиотека каркаса поддерживает удобство построения различных типов приложений на C#, позволяя легко строить Web-службы, другие виды компонентов, достаточно просто сохранять и получать информацию из базы данных  других хранилищ данных;
  •  реализация, сочетающая построение надежного и эффективного кода, является немаловажным фактором, способствующим успеху C#.

Особенности C#:

  •  полная поддержка классов и объектно-ориентированного программирования, включая наследование интерфейсов и реализаций, виртуальных функций и перегрузки операторов;
  •  полный и хорошо определенный набор основных типов;
  •  встроенная поддержка автоматической генерации XML-документации;
  •  автоматическое освобождение динамически распределенной памяти;
  •  возможность отметки классов и методов атрибутами, определяемыми пользователем. Это может быть полезно при документировании и способно воздействовать на процесс компиляции (например, можно пометить методы, которые должны компилироваться только в отладочном режиме) ;
  •  полный доступ к библиотеке базовых классов .NET, а также легкий доступ к Windows API (если это действительно необходимо) ;
  •  указатели и прямой доступ к памяти, если они необходимы. Однако язык разработан таким образом, что практически во всех случаях можно обойтись и без этого;
  •  поддержка свойств и событий в стиле VB;
  •  простое изменение ключей компиляции. Позволяет получать исполняемые файлы или библиотеки компонентов .NET, которые могут быть вызваны другим кодом так же, как элементы управления ActiveX (компоненты СОМ) ;
  •  возможность использования C# для написания динамических web-страниц ASP.NET.

Одной из областей, для которых не предназначен этот язык, являются критичные по времени и высокопроизводительные программы.

Поэтому для разработки данной программы был выбран язык С#.

1.5 Инфологическое моделирование предметной области

Инфологическое моделирование данных – это процесс создания логического представления структуры базы данных. Правильно сконструированная модель данных должна поддерживать все пользовательские представления данных. Моделирование данных является наиболее важной задачей при разработке эффективных приложений баз данных. Если база данных будет неверно отражать пользовательское представление данных, то пользователи найдут её приложения неудобными, неполными и не оправдывающими ожиданий. Инфологическое моделирование данных – основа для всей последующей работы по разработке базы данных и приложения по её ведению.

1. Информационный объект «Сотрудники» - данный объект содержит информацию о сотрудниках библиотеки:

  •  Код сотрудника;
  •  ФИО;
  •  Возраст;
  •  Пол;
  •  Адрес;
  •  Телефон;
  •  Паспортные данные;
  •  Код должности.

2. Информационный объект «Должности» - данный объект содержит информацию о должностях сотрудников библиотеки:

  •  Код должности;
  •  Наименование должности;
  •  Оклад;
  •  Обязанности;
  •  Требования.

3. Информационный объект «Издательства» - данный объект содержит информацию о издательствах:

  •  Код издательства;
  •  Наименование;
  •  Город;
  •  Адрес;

4. Информационный объект «Жанры» - данный объект содержит информацию о жанрах:

  •  Код жанра;
  •  Наименование;
  •  Описание;

5. Информационный объект «Книги» - данный объект содержит информацию о книгах:

  •  Код книги;
  •  Наименование;
  •  Автор;
  •  Код издательства;
  •  Год издания.
  •  Код жанра.

6. Информационный объект «Читатели» - данный объект содержит информацию о читателях:

  •  Код читателя;
  •  ФИО;
  •  Дата рождения;
  •  Пол;
  •  Адрес;
  •  Телефон;
  •  Паспортные данные;

7. Информационный объект «Выданные книги» - данный объект содержит информацию о выданных книгах:

  •  Код книги;
  •  Код читателя;
  •  Дата выдачи;
  •  Дата возврата;
  •  Отметка о возврате.

1.6 Датологическое проектирование

После того, как выбор СУБД и других инструментальных средств разработки базы, данных и программного обеспечения для её ведения завершён, необходимо приступить к проектированию датологической модели базы данных (БД). При формировании датологической схемы, каждая из определённых в инфологической модели сущностей отображается в таблицу (отношение), кроме того, в отношения могут быть преобразованы различные информационные отношения между сущностями.

После определения информационных объектов предметной области и их свойств необходимо ответить на ряд вопросов.

На какие таблицы можно разбить данные, подлежащие хранению в БД?

Какое имя можно присвоить каждой таблице?

Однако этап логического или датологического проектирования не заканчивается проектирование схемы отношений. В общем случае в результате выполнения этого этапа должны быть получены следующие результирующие документы:

  •  описание концептуальной схемы БД в терминах выбранной СУБД;
  •  описание внешних моделей в терминах выбранной СУБД;
  •  разработка процедур поддержки семантической целостности БД.

Однако перед тем как описывать построенную схему в терминах выбранной СУБД, надо выстроить эту схему.

Рассмотрим методику построения корректной схемы БД, ориентируясь на реляционную модель данных. Корректной называют схему БД, в которой отсутствуют нежелательные зависимости между атрибутами отношений.

Проектирование схемы БД может быть выполнено двумя путями.

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

На этапе датологического моделирования осуществляется нормализация сформированных таблиц БД. Процесс проектирования БД с использованием метода нормальных форм является итерационным и заключается в последовательном переводе отношений из первой нормальной формы в нормальные формы более высокого порядка по определенным правилам. Каждая следующая нормальная форма ограничивает определенный тип функциональных зависимостей, устраняет соответствующие аномалии при выполнении операций над отношениями БД и сохраняет свойства предшествующих нормальных форм.

В рамках выполнения настоящем курсовом проекте создаются следующие таблицы (таблицы уже нормализованы).

В таблице «Сотрудники» хранится информация о сотрудниках библиотеки, её структура приведена в таблице 1.  

Таблица 1 -  Сотрудники

Название поля

Тип данных

Пример

Код сотрудника

bigint

1

ФИО

nvarchar(50)

Иванов Андрей Евгеньевич

Возраст

nvarchar(10)

19

Пол

nvarchar(10)

М

Адрес

nvarchar(50)

Московская 9, 73

Телефон

nchar(15)

5-55-51

Паспортные данные

nvarchar(50)

6609 10122

Код должности

bigint

1

В таблице «Должности» отображены должности, занимаемые сотрудниками библиотеки. Её структура отображена в таблице 2.

Таблица 2 - Должности

Название поля

Тип данных

Пример

Код должности

bigint

1

Наименование должности

nvarchar(50)

Документовод

Оклад

money

6000

Обязанности

nvarchar(100)

Разработка и внедрение технологических процессов работы с документами

Требования

nvarchar(50)

ВПО

В таблице «Издательства» отображается информация о предприятии, издающем книги. Структура приведена в таблице 3.

Таблица 3 -  Издательства

Название поля

Тип данных

Пример

Код издательства

bigint

1          

Наименование издательства

nchar(20)

Андромеда           

Город

nchar(20)

Москва

Адрес

nvarchar(30)

Азовская 21

В таблице  «Жанры» хранится информация о жанрах книг. Структура таблицы отображена в таблице 4.

Таблица 4 -  Жанры

Название поля

Тип данных

Пример

Код жанра

bigint

1

Наименование жанра

nvarchar(50)

Медицина

Описание

Литература по медицине

В таблице  «Книги» хранится информация о книгах. Её структура приведена в таблице 5.

Таблица 5 -  Книги

Название поля

Тип данных

Пример

Код книги

bigint

1

Наименование книги

nvarchar(50)

Научная жизнь

Автор

nvarchar(50)

Горностаев Олег Михайлович

Код издательства

bigint

1

Год издания

nchar(10)

1990

Код жанра

bigint

1

В таблице «Читатели» хранится информация о читателях. Её структура отображена в таблице 6.

Таблица 6 -  Читатели

Название поля

Тип данных

Пример

Код читателя

bigint

1

ФИО

nchar(50)

Иванов Иван Иванович

Дата рождения

nchar(20)

10.10.1990

Пол

nchar(10)

М

Адрес

nvarchar(30)

Ямская 28

Телефон

nchar(30)

5-32-12        

Паспортные данные

nchar(20)

2200 36051          

В таблице  «Выданные книги» хранится информация о книга, выданных читателям. Её структура отображена в таблице 7.

Таблица 7 -  Выданные книги

Название поля

Тип данных

Пример

Код книги

bigint

1

Код читателя

bigint

1

Дата выдачи

nchar(10)

11.11.2014

Дата возврата

nchar(10)

21.11.2014

Отметка о возврате

nchar(20)

Возвращена

Код сотрудника

bigint

1

Вид датологической схемы базы данных представлен на рисунке 1.6.1

Рисунок 1.6.1 - Датологическая схемы базы данных

1.7 Разработка алгоритма решения задачи

Алгоритм - это точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату. Алгоритм содержит указание о том, какие операции необходимо выполнить над исходными данными и в какой последовательности для решения задачи. Поэтому при разработке алгоритма необходимо четко представлять поставленную задачу, чтобы предусмотреть все возможные варианты действий. К алгоритмам предъявляются следующие требования: определенность означает однозначность толкования отображаемого алгоритмом вычислительного процесса; результативность алгоритма заключается в возможности получения результата решения задачи для допустимых исходных данных за конечное число шагов; массовость означает, что решение однотипных задач с различными исходными данными может быть осуществлено по одному алгоритму; дискретность означает, что определяемый алгоритмом вычислительный процесс может быть расчленен на отдельные этапы, элементарные операции.


Рисунок 1.7.1 – Схема алгоритма

На рисунке 1.7.1 представлен обобщенный алгоритм работы веб-портала библиотеки ВПТ.

Разработка алгоритма решения задачи на вычислительной машине должна осуществляться с учетом особенностей применяемой ЦВМ и режима ее использования. Должны учитываться такие характеристики ЦВМ, как разрядность ячеек памяти, емкость ОЗУ, скорость ввода исходных данных и вывода результатов, система команд, емкость ВЗУ, скорость обмена информацией с ВЗУ, конкретный набор оборудования и др. Например, при недостаточной с точки зрения точности решения задачи разрядности ячейки необходимо предусмотреть вычисления над числами с количеством разрядов, большим, чем разрядность ячейки. Если система команд такова, что имеется возможность циклической организации вычислений, то даже при небольшой емкости памяти может не потребоваться обмена информацией с ВЗУ; в противном случае пересылка информации должна быть предусмотрена.


2 ЭКСПЕРИМЕНТАЛЬНЫЙ РАЗДЕЛ

2.1 Создание базы данных, заполнение таблиц данными

Этапы проектирования базы данных библиотеки ВПТ:

Создаём базу данных с названием BDLibrary.mdf с помощью инструментария Visual Studio 2008.  В данной базе данных создаём следующие  таблицы: таблица администраторы, пользователи, сотрудники, должности, издательства, жанры, книги, читатели, выданные книги, представленные на рисунках 2.1.1 - 2.1.9.

Рисунок 2.1.1 – Таблица Администраторы

Рисунок 2.1.2 – Таблица Пользователи

Рисунок 2.1.3 - Таблица Сотрудники

Рисунок 2.1.4 - Таблица Должности

Рисунок 2.1.5 – Таблица Издательства

Рисунок 2.1.6 – Таблица Жанры

Рисунок 2.1.7 – Таблица Книги

Рисунок 2.1.8 – Таблица Читатели

Рисунок 2.1.9 – Таблица Выданные книги

2.2 Создание запросов и фильтров

Запрос Просмотр Всего связывает таблицы: сотрудники, должности, издательства, жанры, книги, читатели, выданные книги. Запрос представлен на рисунке 2.2.1

Рисунок 2.2.1 - Запрос просмотр всех сведений

Запрос «Отдел Кадров» связывает таблицы «Сотрудники» и «Должности». Запрос представлен на рисунке 2.2.2

Рисунок 2.2.2 – Запрос отдел кадров

Запрос «Каталог» связывает таблицы «Книги», «Издательства» и «Жанры». Запрос представлен на рисунке 2.2.3

Рисунок 2.2.3 – Запрос каталог

Запрос «Книги на руках» связывает таблицы «Выданные книги», «Книги», «Читатели» и «Сотрудники». Запрос представлен на рисунке 2.2.4

Рисунок 2.2.4 – Запрос книги на руках

2.3 Создание форм

Форма default.aspx, представлена главная страница сайта на рисунке 2.3.1

Рисунок 2.3.1 – Главная страница

Форма Reg_BD.aspx, представлены страницы регистрации пользователей и администраторов на рисунках 2.3.2 – 2.3.3.

Рисунок 2.3.2 – Страница регистрации пользователей

Рисунок 2.3.3 – Страница регистрации администраторов

Форма BD_Avto.aspx, представлена страница авторизации на рисунке 2.3.4. 

Рисунок 2.3.4 – Страница авторизации

2.4 Обеспечение безопасности доступа к данным

Большинство веб-приложений ASP.NET тем или иным образом используют доступ к данным. Многие приложения аккумулируют данные в базе данных или файле, а хранимые данные часто основаны на сведениях, предоставленных пользователями. Поскольку исходные данные могут поступать из ненадежных источников, а информация хранится длительное время и необходимо быть уверенным в том, что неавторизованные пользователи не смогут получить непосредственный доступ к данным, требуется уделить особое внимание проблеме безопасности доступа к данным. В этом разделе приводятся рекомендации, которые помогут повысить безопасность доступа к данным в веб-приложении ASP.NET.

Предлагаемые рекомендации в отношении конфигурации и кодирования помогут повысить безопасность приложений. Но не менее важно на постоянной основе следить за тем, чтобы на веб-сервере были установлены последние обновления для системы безопасности Microsoft Windows и служб IIS, а также обновления для системы безопасности Microsoft SQL Server или другого программного обеспечения, обеспечивающего доступ к источникам данных.

В системе присутствует три уровня доступа к базе данных:

Пользователь после авторизации в системе получает доступ к следующим страницам:

  •  жанры;
  •  издательства;
  •  книги;

Администратор после авторизации в системе получает доступ к следующим страницам:

  •  администраторы;
  •  пользователи;
  •  выданные книги;
  •  должности;
  •  жанры;
  •  издательства;
  •  книги;
  •  сотрудники;
  •  читатели.

2.5 Правила и порядок работы с базой данных

После создания базы данных и форм для работы с базой данных, администратору необходимо осуществить первичную настройку системы:

  •  создание списков сотрудников;
  •  создание списков читателей;
  •  создание учетных записей администраторов;
  •  создание учетных записей пользователей.

Затем администратор заполняет таблицы:

  •  с названиями книг;
  •  с названиями издательств;
  •  с названиями жанров.

После того как администратор создал все необходимое  система готова к работе.

2.6 Назначение и возможности программного средства

Программные средства информационной технологии можно разделить на системные и инструментальные. В системных программных средствах ведущая роль принадлежит операционным системам ЭВМ, системам управления банками данных и сетевому программному обеспечению. Операционные системы организуют функционирование ЭВМ в целом и реализуют требуемые режимы работы, наиболее характерными из которых являются пакетная обработка информации, и режим разделения времени, обеспечивающий параллельную работу пользователей на одной ЭВМ, либо на вычислительном комплексе.

Возможности операционных систем ЭВМ расширяют системы управления базами данных, которые в силу специфики своего назначения могут быть выделены в отдельную группу в структуре системных программных средств. СУБД должны быть приспособлена к нуждам пользователя, которые во многом определяются областью, организацией структур данных, применяемыми аппаратными и программными средствами.

В итоге огромного опыта разработки СУБД определились в основном два направления их построения: универсальные и специализированные. Отметим, что универсальные СУБД как системные программные средства информационной технологии вполне естественно не могут удовлетворить всем требованиям пользователей в части реализации на их основе процесса накопления данных. При их использовании возможно увеличение временных затрат оперативной памяти.  Несмотря на это, они находят широкое применение.


3 ЭКОНОМИЧЕСКАЯ ЧАСТЬ

3.1 Использование вычислительной техники в учебном процессе

Бурное развитие новых информационных технологий и внедрение их в России последние пять лет наложили определенный отпечаток на развитие личности современного ребенка. Мощный поток новой информации, рекламы, применение компьютерных технологий в телевидении, распространение игровых приставок, электронных игрушек и компьютеров оказывают большое влияние на воспитание ребенка и его восприятие окружающего мира. Существенно изменяется и характер его любимой практической деятельности - игры, изменяются и его любимые герои и увлечения.

Начиная учиться в школе, он может почувствовать определенный дискомфорт. Не во всех школах сегодня еще есть оснащенные технологические классы, устаревшие учебные программы и методические приемы приводят к существенному снижению мотивации учения школьников, заставляя вдумчивых педагогов искать более современные средства и методы обучения.

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

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

Актуальность избранной темы объясняется общечеловеческой значимостью затрагиваемого материала. Дело в том, что проблема информатизации и непосредственно связанной с ней компьютеризации всех сфер человеческой деятельности является одной из глобальных проблем современного мира. Причина тому - неслыханное для предшествующих эпох повышение роли информации, превращение ее в одну из важнейших движущих сил всей производственной и общественной жизни. Происходящий параллельно стремительный скачок в развитии аппаратных средств, т.е. собственно компьютеров как технических устройств за последние 2-3 года сделал эту технику достаточно доступной. Поэтому внедрение компьютерных технологий в образование можно охарактеризовать как логичный и необходимый шаг в развитии современного информационного мира в целом. Подтверждением этого может служить возникновение целого ряда специальных научных центров, непосредственно занимающихся проблемами информатизации и компьютеризации образования.

Такой факт, как появление специализированных периодических изданий, литературы общепедагогического порядка по проблемам компьютеризации и множества соответствующих методических разработок говорит о существовании и острой актуальности данной проблемы для современной школы на всех ее уровнях.

Современная наука концентрирует внимание на теоретической разработке концепции и структурно-организационных моделей компьютеризации образования, так как на данный момент, ввиду отсутствия стабильных позиций в этом вопросе, реальная компьютеризация учебного процесса на местах фактически отсутствует.

Обоснование безотлагательной необходимости внедрения компьютерной и микропроцессорной техники в школьную практику содержит два основных, тесно связанных между собой слагаемых. Во-первых, огромные технико-операционные возможности компьютера несут в себе несравнимый с ранее применявшимися техническими средствами обучения, дидактический материал, который может и должен быть реализован в учебно-воспитательном процессе. Во-вторых, подлинная действенность научно-технического прогресса (а широкое применение компьютеров - одно из ярчайших его проявлений) в решающей степени зависит от подготовки кадров на уровне современных требований.

Поэтому изучение и использование компьютерной техники в учебном процессе - важнейший компонент подготовки учащихся к дальнейшей трудовой жизни. Нельзя не учитывать того, что для большинства выпускников средних и высших учебных заведений будущая профессия станет по преимуществу компьютерной.

3.2 Расчет себестоимости и цены программы

Трудовые затраты включают заработную плату каждого преподавателя и отчисления от нее. Дисциплины и число часов приведены в таблице 3.2.1.

Таблица 3.2.1 - Часовые тарифные ставки

Преподаватель

Категория и стаж работы

Стоимость нормо-часа Сч, руб.коп

Фонд оплаты труда, руб. (Ф/З)

Коростелев М.К.

Высшая, стаж более 20 лет

133,63

21648

Макарова Н.М.

Высшая, стаж более 10 лет

129, 65

10372

Никитина С.Ю.

Высшая, стаж более 20 лет

133,63

26191

Таблица 3.2.2 - Трудовые затраты


Дисциплина

Преподаватели

Часы

Фонд оплаты труда, руб.

МДК 3.1 Технология разработки программного обеспечения

Коростелев М.К.

162

21648


МДК 3.2 Инструментальные средства разработки программного обеспечения

Коростелев М.К.

162

21648


Продолжение таблицы 3.2.2

МДК 3.3 Документация и сертификация

Макарова Н.М.

80

10372

МДК 3.4 Пакеты Прикладных Программ

Никитина С.Ю.

196

26191

Итого:

600

79859

Категории оплаты труда преподавателей, часовые тарифные ставки и фонд оплаты труда преподавателей приведены в таблице 3.2.2.

Итого фонд оплаты труда преподавателей определён умножением времени изучения предмета в часах на стоимость нормы-часа (Сч, руб/ч)

Средняя стоимость одного нормо-часа равна (Сч ср.):

(3.1)

где Ф/з – фонд оплаты труда, руб.;

t – время изучения дисциплин, ч.

Время работы над программой составляет  52 часа.

Расчеты себестоимости и цены программы:

3.2.1  основная зарплата по стоимости труда программиста равна (Зосн):

(3.2)

где Сч – часовая тарифная ставка, руб./ч.;

t1 – время работы над программой, ч;

3.2.2  дополнительная зарплата (отпускные, учебный отпуск и т.д.) – 20% от основной зарплаты (Здоп):

(3.3)

где  d – коэффициент дополнительной зарплаты.

3.2.3 отчисления на социальное страхование (оплата по больничным листам, медицинское страхование и т.д.) – 26% от основной зарплаты (Ссоц):

(3.4)

где b – коэффициент отчисления на социальное страхование.

3.2.4  оплата труда руководителя дипломного проекта (Коростелева М.К.) с начислениями за 12 часов (Р):

P= Сч’·t’·d’·b’,

(3.5)

где Сч’– часовая тарифная ставка, руб./ч.;

t’ – время, ч;

d’ – коэффициент основной зарплаты с дополнительной зарплат;

b’ – коэффициент основной зарплаты с отчислениями на социальное страхование.

(3.6)

3.2.5  стоимость работы компьютера (К):

(3.7)

где  Сч1- 70 руб./ч.– стоимость работы одного часа компьютера;

t2 – 33 часа - время работы компьютера.

3.2.6  стоимость диска (Д) - 15 руб.;

3.2.7 стоимость инструкции – руководство по эксплуатации (инструкция пользователя) (И):

И = 3 руб. ∙ 2 листа = 6 руб.

(3.8)

Итого затраты по пунктам 1-7 составляют себестоимость работы(С):

(3.9)

3.2.8  накладные расходы предприятия (амортизация помещения, освещение, отопление и т.д.) составят 10% от всех затрат (Нр):

(3.10)

где 0,1 – коэффициент накладных расходов.

3.2.9  полная себестоимость программы (Сполн):

Сполн = С+Нр,

(3.11)

где С – себестоимость программы, руб.;

3.2.10 для определения цены программы начислим плановую прибыль в размере 20% (Ппл):

(3.12)

где 0,2 – коэффициент плановой прибыли.

3.2.11 Определим цену программы (Ц):

(3.13)


ЗАКЛЮЧЕНИЕ

Результатом исследования деятельности СПО ВПТ, проводимого в рамках выпускной квалификационной работы, является  разработка корпоративного портала библиотеки ВПТ.

Создание корпоративного портала базы данных позволило облегчить работу с огромными объемами информации, необходимыми для организации выдачи книг абонементам библиотеки. База данных помогает справиться с тем огромным потоком информации, с которыми раньше приходилось справляться библиотекарям и администраторам вручную, причем поток информации постоянно обновляется.

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

Сайт состоит из двух разделов: «Администратор» и «Пользователь».

В разделе «Администратор» можно просмотреть фильтры и таблицы, можно добавлять записи в таблицы, а также регистрировать или удалять пользователей и администраторов.

В разделе «Пользователь» можно получить доступ к просмотру трех таблиц: «Книги», «Жанры», «Издательства».

При создании программного продукта использовались современные инструментальные средства разработки: Microsoft Visual Studio 2008, Microsoft Visual Web Developer 2008 Express Edition, Microsoft SQL Server 2005, Microsoft Office 2007. 

Сайт работает по технологии «клиент-сервер», что позволяет охватить большое количество пользователей и добиться необходимого уровня оптимизации.


ЛИТЕРАТУРА

Бишоп Дж. C# в кратком изложении. – М.: БИНОМ, 2005.

Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. - М.: Финансы и статистика, 1989.

Вилдермьюс Ш.  Практическое использование ADO.NET. Доступ к данным в Internet. Учебный курс.  – М.: Издательский дом «Вильяме», 2003.

Дейт К. Дж. Введение в системы баз данных, 8 - е издание / Пер. с англ. - М.: Издательский дом «Вильямс», 2005.

Морган С. Разработка распределенных приложений на платформе Microsoft .Net Framework: Учебный курс Microsoft. – СПб.: Питер, 2008.


ПРИЛОЖЕНИЕ

Главная страница

using System;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page

{

   private void SetFocus(string ControlName)

   {

       // Добавляем функцию установки фокуса

       System.Text.StringBuilder sb = new System.Text.StringBuilder("");

       sb.Append("<script language=javascript>");

       sb.Append("function setFocus(ctl) {");

       sb.Append(" if (document.all[ctl] != null)");

       sb.Append(" {document.all[ctl].focus();}");

       sb.Append("}");

       // Добавляем вызов функции установки фокуса

       sb.Append("setFocus('");

       sb.Append(ControlName);

       sb.Append("');<");

       sb.Append("/");

       sb.Append("script>");

       // Регистрируем клиентский скрипт

       if (!Page.IsStartupScriptRegistered("InputFocusHandler"))

           Page.RegisterStartupScript("InputFocusHandler", sb.ToString());

   }

   protected void Page_Load(object sender, EventArgs e)

   {

       SetFocus(TextBox1.ClientID);

   }

   private SqlConnection www = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\DB_Rabota.mdf;Integrated Security=True;User Instance=True");

   protected void ImageButton1_Click(object sender, ImageClickEventArgs e)

   {

       Panel1_Student.Visible = false;

       Panel2_Prepod.Visible = false;

       Panel3_Admin.Visible = false;

       /* Начало -- Преподаватели -- Начало */

       SqlCommand SaveDocCommand = new SqlCommand();

       SaveDocCommand.Connection = www;

       SaveDocCommand.CommandText = "Select  *  from Преподаватели";

       try

       {

           www.Open();

           SqlDataReader dr = SaveDocCommand.ExecuteReader();

           string kod = "";

           string fio = "";

           string login = "";

           string pass = "";

           while (dr.Read())

           {

               kod = dr[0].ToString();

               fio = dr[1].ToString();

               login = dr[2].ToString();

               pass = dr[3].ToString();

               if (dr[2].ToString() == TextBox1.Text && dr[3].ToString() == TextBox2.Text && TextBox1.Text != "" && TextBox2.Text != "")

               {

                   Label2.Text = "Преподаватель: " + fio.ToString();

                   Panel1.Visible = false;

                   Panel2_Prepod.Visible = true;

                   HiddenField_Prepod_Fio.Value = fio;

                   HiddenField_kod_prepod.Value = kod;

                   HiddenField_Login_Prepodavatela.Value = login;

                   return;

               }

               else

               {

                   Label4.Text = "Такого Пользователя нет";

               }

           }

       }

       finally

       {

           www.Close();

       }

       /* Конец -- Сотрудники -- Конец */

       /* Начало -- Читатели -- Начало */

       SaveDocCommand = new SqlCommand();

       SaveDocCommand.Connection = www;

       SaveDocCommand.CommandText = "Select  *  from Читатели";

       try

       {

           www.Open();

           SqlDataReader dr = SaveDocCommand.ExecuteReader();

           string kod = "";

           string fio = "";

           string login = "";

           string pass = "";

           while (dr.Read())

           {

               kod = dr[0].ToString();

               fio = dr[1].ToString();

               login = dr[3].ToString();

               pass = dr[4].ToString();

               if (dr[3].ToString() == TextBox1.Text && dr[4].ToString() == TextBox2.Text && TextBox1.Text != "" && TextBox2.Text != "")

               {

                   Label1.Text = "Читатель: " + fio.ToString();

                   Panel1.Visible = false;

                   Panel1_Student.Visible = true;

                   HiddenField1.Value = kod;

                   HiddenField2.Value = fio;

                   Login_Stydenta.Value = login;

                   return;

               }

               else

               {

                   Label4.Text = "Такого Пользователя нет";

               }

           }

       }

       finally

       {

           www.Close();

       }

       /* Конец -- Читатели -- Конец */

       /* Начало -- Администрирование -- Начало */

       SaveDocCommand = new SqlCommand();

       SaveDocCommand.Connection = www;

       SaveDocCommand.CommandText = "Select  *  from Администрирование";

       try

       {

           www.Open();

           SqlDataReader dr = SaveDocCommand.ExecuteReader();

           string kod = "";

           string fio = "";

           string login = "";

           string pass = "";

           while (dr.Read())

           {

               kod = dr[0].ToString();

               fio = dr[1].ToString();

               login = dr[2].ToString();

               pass = dr[3].ToString();

               if (dr[2].ToString() == TextBox1.Text && dr[3].ToString() == TextBox2.Text && TextBox1.Text != "" && TextBox2.Text != "")

               {

                   Label3.Text = "Администратор: " + fio.ToString();

                   Panel1.Visible = false;

                   Panel3_Admin.Visible = true;

                   HiddenField_Admin_Fio.Value = fio;

                   return;

               }

               else

               {

                   Label4.Text = "Такого Пользователя нет";

               }

           }

       }

       finally

       {

           www.Close();

       }

       /* Конец -- Администрирование -- Конец */

   }

}

Панель читателя, добавление данных

using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Data.SqlClient;

using System.IO;

public partial class Student : System.Web.UI.Page

{

   protected void Page_Load(object sender, EventArgs e)

   {

       Label1.Text = "";

       if (!IsPostBack)

       {

           if (Request.UrlReferrer == null)

           {

               Response.Redirect("Default.aspx");

               return;

           }

       }

       try

       {

           HiddenField1.Value = ((HiddenField)Page.PreviousPage.FindControl("HiddenField1")).Value;

           HiddenField2.Value = ((HiddenField)Page.PreviousPage.FindControl("HiddenField2")).Value;

           Label2.Text = HiddenField2.Value;

       }

       catch (Exception ex)

       {

       }

   }

   private SqlConnection www = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\DB_Rabota.mdf;Integrated Security=True;User Instance=True");

   /*  

   private String SavePath = "";

   private string FullName;

   string OldFileName; string ss;

   */

   DirectoryInfo dr = null;

 private String CompleteFilePath = "";

   protected void ImageButton1_Click(object sender, ImageClickEventArgs e)

   {

       Label1.Text = "";

       try

       {

           dr = new DirectoryInfo(MapPath("~Image/TEMP/"));

           dr.Create();

           CompleteFilePath = MapPath("~Image/TEMP/" + FileUpload1.FileName);

           FileUpload1.SaveAs(CompleteFilePath);

           // The BLOB holds the byte array to save.

           byte[] BLOB;

           // The FileStream is the stream of bytes

           // that represent the binary file.

           System.IO.FileStream FileStream = new System.IO.FileStream(CompleteFilePath, System.IO.FileMode.Open, System.IO.FileAccess.Read);

           // The reader reads the binary data from the FileStream.

           System.IO.BinaryReader reader = new System.IO.BinaryReader(FileStream);

           // The BLOB is asigned the bytes from the reader.

           // The file length is passed to the ReadBytes method

           // telling it how many bytes to read.

           System.IO.FileInfo file = new FileInfo(CompleteFilePath);

           BLOB = reader.ReadBytes((int)(file.Length));

           FileStream.Close();

           reader.Close();

           // Create a command object to save

           // the BLOB value.

           SqlCommand SaveDocCommand = new SqlCommand();

           SaveDocCommand.Connection = www;

           SaveDocCommand.CommandText = "INSERT INTO Сведения" +

                            "(Код_Сотрудника, Код_Читателя,Код_Книги,Код_Издательства)  " +

                            "VALUES (@k_p, @k_st,@k_pred,@k_k,@i_f,@sod,@data,@komp)";

           // Create parameters to store the filename and BLOB data.

           SqlParameter k_pP = new SqlParameter("@k_p", SqlDbType.BigInt);

           SqlParameter k_stP = new SqlParameter("@k_st", SqlDbType.BigInt);

           SqlParameter k_predP = new SqlParameter("@k_pred", SqlDbType.BigInt);

           SqlParameter k_kP = new SqlParameter("@k_k", SqlDbType.BigInt);

           SqlParameter i_fP = new SqlParameter("@i_f", SqlDbType.NVarChar);

           SqlParameter sodP = new SqlParameter("@sod", SqlDbType.VarBinary);

           SqlParameter dataP = new SqlParameter("@data", SqlDbType.SmallDateTime);

           SqlParameter kompP = new SqlParameter("@komp", SqlDbType.NVarChar);

           SaveDocCommand.Parameters.Add(k_pP);

           SaveDocCommand.Parameters.Add(k_stP);

           SaveDocCommand.Parameters.Add(k_predP);

           SaveDocCommand.Parameters.Add(k_kP);

           SaveDocCommand.Parameters.Add(i_fP);

           SaveDocCommand.Parameters.Add(sodP);

           SaveDocCommand.Parameters.Add(dataP);

           SaveDocCommand.Parameters.Add(kompP);

           k_pP.Value = DropDownList1.SelectedValue;

           k_stP.Value = HiddenField1.Value;

           k_predP.Value = DropDownList2.SelectedValue;

           k_kP.Value = DropDownList3.SelectedValue;

           i_fP.Value = CompleteFilePath.Substring(CompleteFilePath.LastIndexOf("\\") + 1);

           sodP.Value = BLOB;

           dataP.Value = System.DateTime.Now;

           kompP.Value = Request.ServerVariables["REMOTE_ADDR"].ToString();            

           // Execute the command and save the BLOB to the database.

           try

           {

               SaveDocCommand.Connection.Open();

               SaveDocCommand.ExecuteNonQuery();

             //  Response.Write(@"<script>alert(""Сохранён"");</script>");

               Label1.Text = "Сохранён";

           }

           catch (Exception ex)

           {

            //   Response.Write(@"<script>alert(""Не сохранён"");</script>");

               Label1.Text = "Не cохранён";

           }

           finally

           {

               SaveDocCommand.Connection.Close();

           }

           try

           {

               dr.Delete(true);

           }

           catch (Exception ex)

           {

           }

       }

       catch (Exception ex)

       {

           Label1.Text = "Нужно выбрать файл";

       }

   }

Панель читателя, просмотр данных

using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Data.SqlClient;

using System.IO;

public partial class Student_Prosmotr : System.Web.UI.Page

{

   private SqlConnection www = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\DB_Rabota.mdf;Integrated Security=True;User Instance=True");

   protected void Page_Load(object sender, EventArgs e)

   {

       if (!IsPostBack)

       {

           if (Request.UrlReferrer == null)

           {

               Response.Redirect("Default.aspx");

               return;

           }

       }

       try

       {

           HiddenField1.Value = ((HiddenField)Page.PreviousPage.FindControl("HiddenField2")).Value;

           Label1.Text = HiddenField1.Value;

       }

       catch (Exception ex)

       {

       }

   }

   private String SavePath = "";

   private string FullName;

   string OldFileName; string ss;

   DirectoryInfo dr = null;

   protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)

   {

       bool b;

       try

       {

           // Удалить TEMP с содержимым

           dr = new DirectoryInfo(MapPath("~Image/TEMP/"));

           try

           {

               dr.Delete(true);

           }

           catch (Exception ex)

           {

           }

           // Создать папку TEMP

           dr = new DirectoryInfo(MapPath("~Image/TEMP/"));

           dr.Create();

           // Установить маршрут TEMP для записи считанного файла

           SavePath = MapPath("~Image/TEMP/");

           // Создать команду для выбора записываемого файла из БД

           SqlCommand GetBlobCommand = new SqlCommand("SELECT  [Имя_файла], [Содержимое],[Код_Сведений] " +  " FROM Сведения " + " WHERE [Код_Сведений] = @kod  ", www);

           // Установить параметр

           GetBlobCommand.Parameters.Add("@kod", SqlDbType.BigInt).Value = GridView1.SelectedRow.Cells[1].Text;

           // Current index to write the bytes to

           long CurrentIndex = 0;

           // number of bytes to store in the BLOB.

           int BufferSize = 100;

           // Actual number of bytes returned when calling GetBytes.

           long BytesReturned;

           // The Byte array used to hold the buffer.

           byte[] Blob = new byte[BufferSize];

           // Открыть соединение

           GetBlobCommand.Connection.Open();

           SqlDataReader reader = GetBlobCommand.ExecuteReader(CommandBehavior.SequentialAccess);

           if (reader.HasRows) b = true; else b = false;

           while (reader.Read())

           {

               // Create or open the selected file.

               ss = reader["Имя_файла"].ToString();

               // OldFileName = SavePath + "\\" + ss;

               OldFileName = SavePath + ss;

               FullName = "~Image/TEMP/" + ss;

               System.IO.FileStream FileStream = new System.IO.FileStream(OldFileName, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write);

               //

               // Set the writer to write the BLOB to the file.

               System.IO.BinaryWriter writer = new System.IO.BinaryWriter(FileStream);

               // Reset the index to the beginning of the file.

               CurrentIndex = 0;

               // Set the BytesReturned to the actual number

               // of bytes returned by the GetBytes call.

               BytesReturned = reader.GetBytes(1, CurrentIndex, Blob, 0, BufferSize);

               // If the BytesReturned fills the buffer

               // keep appending to the file.

               while (BytesReturned == BufferSize)

               {

                   writer.Write(Blob);

                   writer.Flush();

                   CurrentIndex += BufferSize;

                   BytesReturned = reader.GetBytes(1, CurrentIndex, Blob, 0, BufferSize);

               }

               // When the BytesReturned no longer fills

               // the buffer, write the remaining bytes.

               writer.Write(Blob, 0, (int)(BytesReturned));

               writer.Flush();

               writer.Close();

               FileStream.Close();

           }

           reader.Close();

           GetBlobCommand.Connection.Close();

           if (b)

           {

               String Fname = Server.MapPath(FullName);

               Response.ClearContent();

               Response.ClearHeaders();

               Response.ContentType = "binary/octet-stream";

               Response.AddHeader("Content-Disposition", "attachment; filename=" + ss);

               Response.WriteFile(Fname);

               Response.Flush();

               Response.Close();

           }

       }

       catch (Exception ex)

       {

           Response.Write(@"<script>alert(""Невозможно выполнтить запрос"");</script>");

       }

   }

}

Панель администратора, просмотр данных

using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Data.SqlClient;

using System.IO;

public partial class Prepodavatel : System.Web.UI.Page

{

   protected void Page_Load(object sender, EventArgs e)

   {

       if (!IsPostBack)

       {

           if (Request.UrlReferrer == null)

           {

               Response.Redirect("Default.aspx");

               return;

           }

       }

       try

       {

           HiddenField1.Value = ((HiddenField)Page.PreviousPage.FindControl("HiddenField_Prepod_Fio")).Value;

           HiddenField2.Value = ((HiddenField)Page.PreviousPage.FindControl("HiddenField_kod_prepod")).Value;

           Label1.Text = HiddenField1.Value;

       }

       catch

       {

       }

   }

   protected void GridView3_SelectedIndexChanged(object sender, EventArgs e)

   {

       Label2.Text = GridView3.SelectedRow.Cells[1].Text;

       Label3.Text = "не выбран";

   }

   private SqlConnection www = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\DB_Rabota.mdf;Integrated Security=True;User Instance=True");

   protected void GridView4_SelectedIndexChanged(object sender, EventArgs e)

   {

       Label3.Text =  GridView4.SelectedRow.Cells[1].Text;

   }

   private String SavePath = "";

   private string FullName;

   string OldFileName; string ss;

   DirectoryInfo dr = null;

   protected void GridView5_SelectedIndexChanged(object sender, EventArgs e)

   {

       bool b;

       try

       {

           // Удалить TEMP с содержимым

           dr = new DirectoryInfo(MapPath("~Image/TEMP/"));

           try

           {

               dr.Delete(true);

           }

           catch (Exception ex)

           {

           }

           // Создать папку TEMP

           dr = new DirectoryInfo(MapPath("~Image/TEMP/"));

           dr.Create();

           // Установить маршрут TEMP для записи считанного файла

           SavePath = MapPath("~Image/TEMP/");

           // Создать команду для выбора записываемого файла из БД

           SqlCommand GetBlobCommand = new SqlCommand("SELECT  [Имя_файла], [Содержимое],[Код_Сведений] " + " FROM Сведения " + " WHERE [Код_Сведений] = @kod  ", www);

           // Установить параметр

           GetBlobCommand.Parameters.Add("@kod", SqlDbType.BigInt).Value = GridView5.SelectedRow.Cells[1].Text;

           // Current index to write the bytes to

           long CurrentIndex = 0;

           // number of bytes to store in the BLOB.

           int BufferSize = 100;

           // Actual number of bytes returned when calling GetBytes.

           long BytesReturned;

           // The Byte array used to hold the buffer.

           byte[] Blob = new byte[BufferSize];

           // Открыть соединение

           GetBlobCommand.Connection.Open();

           SqlDataReader reader = GetBlobCommand.ExecuteReader(CommandBehavior.SequentialAccess);

           if (reader.HasRows) b = true; else b = false;

           while (reader.Read())

           {

               // Create or open the selected file.

               ss = reader["Имя_файла"].ToString();

               // OldFileName = SavePath + "\\" + ss;

               OldFileName = SavePath + ss;

               FullName = "~Image/TEMP/" + ss;

               System.IO.FileStream FileStream = new System.IO.FileStream(OldFileName, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write);

               // Set the writer to write the BLOB to the file.

               System.IO.BinaryWriter writer = new System.IO.BinaryWriter(FileStream);

               // Reset the index to the beginning of the file.

               CurrentIndex = 0;

               // Set the BytesReturned to the actual number

               // of bytes returned by the GetBytes call.

               BytesReturned = reader.GetBytes(1, CurrentIndex, Blob, 0, BufferSize);

               // If the BytesReturned fills the buffer

               // keep appending to the file.

               while (BytesReturned == BufferSize)

               {

                   writer.Write(Blob);

                   writer.Flush();

                   CurrentIndex += BufferSize;

                   BytesReturned = reader.GetBytes(1, CurrentIndex, Blob, 0, BufferSize);

               }

               // When the BytesReturned no longer fills

               // the buffer, write the remaining bytes.

               writer.Write(Blob, 0, (int)(BytesReturned));

               writer.Flush();

               writer.Close();

               FileStream.Close();

           }

           reader.Close();

           GetBlobCommand.Connection.Close();

           if (b)

           {

               String Fname = Server.MapPath(FullName);

               Response.ClearContent();

               Response.ClearHeaders();

               Response.ContentType = "binary/octet-stream";

               Response.AddHeader("Content-Disposition", "attachment; filename=" + ss);

               Response.WriteFile(Fname);

               Response.Flush();

               Response.Close();

           }

       }

       catch (Exception ex)

       {

           Label4.Text = "Невозможно выполнтить запрос";

       }

   }

   protected void CheckBox1_CheckedChanged(object sender, EventArgs e)

   {

       if (CheckBox1.Checked)

       {

           CheckBox1.Text = "";

           Panel1.Visible = true;

           CheckBox1.ForeColor = System.Drawing.Color.DarkRed;

       }

       else

       {

           CheckBox1.Text = "";

           Panel1.Visible = false;

           CheckBox1.ForeColor = System.Drawing.Color.DarkOrange;

       }

   }

   protected void ImageButton2_Click(object sender, ImageClickEventArgs e)

   {

       try

       {

           Up_Sved.Update();

           GridView5.DataBind();

           Lab.Text = "";

       }

       catch (Exception ex)

       {

           Lab.Text = ex.Message;

       }

   }

}

Панель пользователя

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PanelPolzovatel.aspx.cs" Inherits="PanelPolzovatel" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

   <title></title>

   <style type="text/css">

       .style1

       {

           font-size: xx-large;

           font-weight: bold;

           color: #000000;

           font-family: Verdana;

           height: 564px;

       }

       </style>

</head>

<body bgcolor="#ccffff">

   <form id="form1" runat="server">

   <div align="center" class="style1" dir="ltr">

   

       Библиотека<br />

       <br />

       <asp:Button ID="Button4" runat="server" PostBackUrl="~/BD_Avto.aspx"

           Text="Страница входа" Width="150px" />

       <br />

       <br />

       <asp:Button ID="Button1" runat="server" PostBackUrl="~/GjanriPOL.aspx"

           Text="Жанры" Width="150px" />

       <br />

       <asp:Button ID="Button2" runat="server" PostBackUrl="~/IzdatelstvaPOL.aspx"

           Text="Издательства" Width="150px" />

       <br />

       <asp:Button ID="Button3" runat="server" PostBackUrl="~/KnigiPOL.aspx" Text="Книги"

           Width="150px" />

       <br />

       <br />

       <br />

       <br />

   </div>

   </form>

</body>

</html>

Панель администратора

using System;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

public partial class _Default : System.Web.UI.Page

{

   protected void Page_Load(object sender, EventArgs e)

   {

       if (!IsPostBack)

       {

           if (Request.UrlReferrer == null)

           {

               Response.Redirect("BD_Avto.aspx");

               return;

           }

       }

   }

}using System;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

public partial class _Default : System.Web.UI.Page

{

   protected void Page_Load(object sender, EventArgs e)

   {

       if (!IsPostBack)

       {

           if (Request.UrlReferrer == null)

           {

               Response.Redirect("BD_Avto.aspx");

               return;

           }

       }

   }

   protected void Button7_Click(object sender, EventArgs e)

   {

   }

}

Панель администратора, регистрация

using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Data.SqlClient;

public partial class BD_Avto : System.Web.UI.Page

{

   private void SetFocus(string ControlName)

   {

       // Добавляем функцию установки фокуса

       System.Text.StringBuilder sb = new System.Text.StringBuilder("");

       sb.Append("<script language=javascript>");

       sb.Append("function setFocus(ctl) {");

       sb.Append(" if (document.all[ctl] != null)");

       sb.Append(" {document.all[ctl].focus();}");

       sb.Append("}");

       // Добавляем вызов функции установки фокуса

       sb.Append("setFocus('");

       sb.Append(ControlName);

       sb.Append("');<");

       sb.Append("/");

       sb.Append("script>");

       // Регистрируем клиентский скрипт

       if (!Page.IsStartupScriptRegistered("InputFocusHandler"))

           Page.RegisterStartupScript("InputFocusHandler", sb.ToString());

   }

   protected void Page_Load(object sender, EventArgs e)

   {

       SetFocus(TextBox1.ClientID);

   }

   private SqlConnection www = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\BDLibrary.mdf;Integrated Security=True;User Instance=True");

   protected void Button1_Click(object sender, EventArgs e)

   {

       /* Начало -- Пользователи -- Начало */

       SqlCommand SaveDocCommand = new SqlCommand();

       SaveDocCommand.Connection = www;

       SaveDocCommand.CommandText = "Select  *  from Вход_Пользователь";

       try

       {

           www.Open();

           SqlDataReader dr = SaveDocCommand.ExecuteReader();

           while (dr.Read())

           {

               if (dr[2].ToString() == TextBox1.Text && dr[3].ToString() == TextBox2.Text && TextBox1.Text != "" && TextBox2.Text != "")

               {

                   Label1.Text = "Пользователь: " + dr[1].ToString();

                   Panel1.Visible = true;

                   Panel2.Visible = false;

                   return;

               }

               else

               {

                   Label1.Text = "Такого Пользователя нет";

               }

           }

       }

       finally

       {

           www.Close();

       }

       /* Конец -- Преподаватели -- Конец */

       /* Начало -- Студенты -- Начало */

       SaveDocCommand = new SqlCommand();

       SaveDocCommand.Connection = www;

       SaveDocCommand.CommandText = "Select  *  from Вход_Администратор";

       try

       {

           www.Open();

           SqlDataReader dr = SaveDocCommand.ExecuteReader();

           while (dr.Read())

           {

               if (dr[2].ToString() == TextBox1.Text && dr[3].ToString() == TextBox2.Text && TextBox1.Text != "" && TextBox2.Text != "")

               {

                   Label1.Text = "Администратор: " + dr[1].ToString();

                   Panel2.Visible = true;

                   Panel1.Visible = false;

                   return;

               }

               else

               {

                   Label1.Text = "Такого Пользователя нет";

               }

           }

       }

       finally

       {

           www.Close();

       }

       /* Конец -- Студенты -- Конец */

   }

   protected void Button3_Click(object sender, EventArgs e)

   {

   }

}

Таблица сотрудники

SQL Запрос: Удаление

DELETE FROM Сотрудники WHERE (Код_сотрудника = @kkk)))

SQL Запрос: Добавление

INSERT INTO Сотрудники(ФИО, Возраст, Пол, Адрес, Телефон, Паспортные_данные, Код_должности) VALUES (@1, @2, @3, @4, @5, @6, @7)

SQL Запрос: Редактирование

UPDATE Сотрудники SET ФИО = @1, Возраст = @2, Пол = @3, Адрес = @4, Телефон = @5, Паспортные_данные = @6, Код_должности = @7 WHERE (Код_сотрудника = @kkk)

Таблица должности

SQL Запрос: Удаление

DELETE FROM Должности WHERE (Код_должности = @kkk)

SQL Запрос: Добавление

INSERT INTO Должности(Наименование_должности, Оклад, Обязанности, Требования) VALUES (@1, @2, @3, @4)

SQL Запрос: Редактирование

UPDATE Должности SET Наименование_должности = @1, Оклад = @2, Обязанности = @3, Требования = @4 WHERE (Код_должности = @kkk)

Таблица книги

SQL Запрос: Удаление

DELETE FROM Книги WHERE (Код_книги = @kkk)))

SQL Запрос: Добавление

INSERT INTO Книги (Наименование, Автор, Издательство, Год_издания, жанр, код_книги) VALUES (@1, @2, @3, @4, @5)

SQL Запрос: Редактирование

UPDATE Книги SET Наименование= @1, Автор= @2, Издательство = @3, Год_издания = @4, Жанр = @5, (Код_книги= @kkk)

Таблица жанры

SQL Запрос: Удаление

DELETE FROM Жанры WHERE (Код_жанра = @kkk)

SQL Запрос: Добавление

INSERT INTO Жанры(Наименование, Описание) VALUES (@1, @2))

SQL Запрос: Редактирование

UPDATE Жанры SET Наименование = @1, Описание = @2 WHERE (Код_типа = @kkk)

Таблица читатели

SQL Запрос: Удаление

DELETE FROM Читатели WHERE (Код_читателя = @kkk)

SQL Запрос: Добавление

INSERT INTO Читатели(ФИО, Дата_рождения, Пол, Адрес) VALUES (@1, @2, @3, @4)

SQL Запрос: Редактирование

UPDATE Читатели SET ФИО = @1, Дата_рождения = @2, Пол = @3, Адрес = @4 WHERE (Код_читателя = @kkk)

Панель администратора, база данных

using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Data.SqlClient;

using System.IO;

public partial class BD_ADM : System.Web.UI.Page

{

   private SqlConnection www = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\DB_Rabota.mdf;Integrated Security=True;User Instance=True");

   protected void Page_Load(object sender, EventArgs e)

   {

       if (!IsPostBack)

       {

           if (Request.UrlReferrer == null)

           {

               Response.Redirect("Default.aspx");

               return;

           }

       }

       if (RadioButton1.Checked)

       {

           Panel_Pr_Vce.Visible = true;

       }

       if (DropDownList1.Text == "БД: Администрирование")

       {

           Panel1.Visible = true;

       }

       else

       {

           Panel1.Visible = false;

       }

   }

   protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)

   {

       if (DropDownList1.Text == "БД: Администрирование")

       {

           Panel1.Visible = true;

       }

       else

       {

           Panel1.Visible = false;

       }

       if (DropDownList1.Text == "БД: Группа")

       {

           Panel2.Visible = true;

       }

       else

       {

           Panel2.Visible = false;

       }

       if (DropDownList1.Text == "БД: Издательства")

       {

           Panel3.Visible = true;

       }

       else

       {

           Panel3.Visible = false;

       }

       if (DropDownList1.Text == "БД: Книги")

       {

           Panel4.Visible = true;

       }

       else

       {

           Panel4.Visible = false;

       }

       if (DropDownList1.Text == "БД: Сотрудники")

       {

           Panel5.Visible = true;

       }

       else

       {

           Panel5.Visible = false;

       }

       if (DropDownList1.Text == "БД: Сведения")

       {

           Panel6.Visible = true;

       }

       else

       {

           Panel6.Visible = false;

       }

       if (DropDownList1.Text == "БД: Читатели")

       {

           Panel7.Visible = true;

       }

       else

       {

           Panel7.Visible = false;

       }

       if (DropDownList1.Text == "БД: Связи")

       {

           Panel8.Visible = true;

       }

       else

       {

           Panel8.Visible = false;

       }

   }

   private String SavePath = "";

   private string FullName;

   string OldFileName; string ss;

   DirectoryInfo dr = null;

   protected void GridView8_SelectedIndexChanged(object sender, EventArgs e)

   {

       bool b;

       try

       {

           // Удалить TEMP с содержимым

           dr = new DirectoryInfo(MapPath("~Image/TEMP/"));

           try

           {

               dr.Delete(true);

           }

           catch (Exception ex)

           {

           }

           // Создать папку TEMP

           dr = new DirectoryInfo(MapPath("~Image/TEMP/"));

           dr.Create();

           // Установить маршрут TEMP для записи считанного файла

           SavePath = MapPath("~Image/TEMP/");

           // Создать команду для выбора записываемого файла из БД

           SqlCommand GetBlobCommand = new SqlCommand("SELECT  [Имя_файла], [Содержимое],[Код_Сведений] " + " FROM Сведения " + " WHERE [Код_Сведений] = @kod  ", www);

           // Установить параметр

           GetBlobCommand.Parameters.Add("@kod", SqlDbType.BigInt).Value = GridView8.SelectedRow.Cells[1].Text;

           // Current index to write the bytes to

           long CurrentIndex = 0;

           // number of bytes to store in the BLOB.

           int BufferSize = 100;

           // Actual number of bytes returned when calling GetBytes.

           long BytesReturned;

           // The Byte array used to hold the buffer.

           byte[] Blob = new byte[BufferSize];

           // Открыть соединение

           GetBlobCommand.Connection.Open();

           SqlDataReader reader = GetBlobCommand.ExecuteReader(CommandBehavior.SequentialAccess);

           if (reader.HasRows) b = true; else b = false;

           while (reader.Read())

           {

               // Create or open the selected file.

               ss = reader["Имя_файла"].ToString();

               // OldFileName = SavePath + "\\" + ss;

               OldFileName = SavePath + ss;

               FullName = "~Image/TEMP/" + ss;

           GridView9.DataBind();

       }

       catch (Exception ex)

       {

           Response.Write(@"<script>alert(""Не выполнено"");</script>");

       }

       Panel9.Visible = false;

       GridView9.DataBind();

   }

   protected void Button3_Click(object sender, EventArgs e)

   {

       Panel9.Visible = false;

   }

   protected void Button4_Click(object sender, EventArgs e)

   {

       SqlCommand Command1 = new SqlCommand("DELETE  Сведения WHERE Код_Сведений=@kod", www);

       SqlParameter IdentPar = new SqlParameter("@kod", SqlDbType.Int);

       Command1.Parameters.Add(IdentPar);

       IdentPar.Value = TextBox1.Text;

       try

       {

           www.Open();

           Command1.ExecuteNonQuery();

           www.Close();

           Label2.Text = "Выполнено";

           GridView8.DataBind();

       }

       catch (Exception ex)

       {

           Label2.Text = "Не выполнено";

       }

       Panel10.Visible = false;

       CheckBox1.Checked = false;

       CheckBox1.Text = "Включить удаление";

       GridView8.DataBind();

   }

   protected void Button5_Click(object sender, EventArgs e)

   {

       Panel10.Visible = false;

       CheckBox1.Checked = false;

       CheckBox1.Text = "Включить удаление";

   }

   protected void CheckBox1_CheckedChanged(object sender, EventArgs e)

   {

       if (CheckBox1.Checked)

       {

           CheckBox1.Text = "Выключить удаление";

           Panel10.Visible = true;

       }

       else

       {

           CheckBox1.Text = "Включить удаление";

           Panel10.Visible = false;

       }

   }

   protected void RadioButton1_CheckedChanged(object sender, EventArgs e)

   {

       Panel_Pr_Vce.Visible = true;

       Panel_Pr_GR.Visible = false;

   }

   protected void RadioButton2_CheckedChanged(object sender, EventArgs e)

   {

       Panel_Pr_Vce.Visible = false;

       Panel_Pr_GR.Visible = true;

   }

}

Панель администратора, добавление данных

using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Data.SqlClient;

public partial class BD_add : System.Web.UI.Page

{

   private SqlConnection www = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\DB_Rabota.mdf;Integrated Security=True;User Instance=True");

   protected void Page_Load(object sender, EventArgs e)

   {

       if (!IsPostBack)

       {

           if (Request.UrlReferrer == null)

           {

               Response.Redirect("Default.aspx");

               return;

           }

       }

       try

       {

           HiddenField1.Value = ((HiddenField)Page.PreviousPage.FindControl("HiddenField_Admin_Fio")).Value;

           Label2.Text = HiddenField1.Value;

       }

       catch

       {

       }

       if (DropDownList1.Text == "БД: ")

       {

           Panel1.Visible = true;

       }

       else

       {

           Panel1.Visible = false;

       }

   }

   protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)

   {

       if (DropDownList1.Text == "БД: ")

       {

           Panel1.Visible = true;

       }

       else

       {

           Panel1.Visible = false;

       }

       if (DropDownList1.Text == "БД: Издательства")

       {

           Panel2.Visible = true;

       }

       else

       {

           Panel2.Visible = false;

       }

       if (DropDownList1.Text == "БД: Книги")

       {

           Panel3.Visible = true;

       }

       else

       {

           Panel3.Visible = false;

       }

       if (DropDownList1.Text == "БД: Связи")

       {

           Panel4.Visible = true;

       }

       else

       {

           Panel4.Visible = false;

       }

   }

   protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)

   {

       Label1.Text = GridView1.SelectedRow.Cells[1].Text;

       Panel4_DEL.Visible = true;

   }

   protected void Button8_Click(object sender, EventArgs e)

   {

       SqlCommand Command1 = new SqlCommand("DELETE  Связи WHERE Код_Связи=@kod", www);

       SqlParameter IdentPar = new SqlParameter("@kod", SqlDbType.Int);

       Command1.Parameters.Add(IdentPar);

       IdentPar.Value = Label1.Text;

       try

       {

           www.Open();

           Command1.ExecuteNonQuery();

           www.Close();

           //  Button6_Click(sender, e);

           Response.Write(@"<script>alert(""Выполнено"");</script>");

           //Response.Redirect("BD_add.aspx");

           GridView1.DataBind();

       }

       catch (Exception ex)

       {

           Response.Write(@"<script>alert(""Не выполнено"");</script>");

       }

       Panel4_DEL.Visible = false;

       GridView1.DataBind();

       //Response.Redirect("BD_add.aspx");

   }

   protected void Button9_Click(object sender, EventArgs e)

   {

       Label1.Text = GridView1.SelectedRow.Cells[1].Text;        

       Panel4_DEL.Visible = false;

   }

   protected void ImageButton2_Click(object sender, ImageClickEventArgs e)

   {

       if (TextBox1.Text == "")

       {

           Label3.Text = "Поле не заполнено!";

           return;

       }

       /* Начало --- Проверка на Заполненность */

       SqlCommand SaveDocCommand = new SqlCommand();

       SaveDocCommand.Connection = www;

       SaveDocCommand.CommandText = "Select  *  from Группа";

       try

       {

           www.Open();

           SqlDataReader dr = SaveDocCommand.ExecuteReader();

           while (dr.Read())

           {

               if (dr[1].ToString() == TextBox1.Text)

               {

                   Label3.Text = "Такие данные уже в базе есть";

                   return;

               }

               else

               {

               }

           }

       }

       finally

       {

           www.Close();

       }

       /* Конец --- Проверка на Заполненность */

       SaveDocCommand.Connection = www;

       SaveDocCommand.CommandText = "INSERT INTO Группа (Название_Группы) VALUES (@n_g)";

       SqlParameter n_gP = new SqlParameter("@n_g", SqlDbType.NVarChar);

       SaveDocCommand.Parameters.Add(n_gP);

       n_gP.Value = TextBox1.Text;

       try

       {

           SaveDocCommand.Connection.Open();

           SaveDocCommand.ExecuteNonQuery();

           Label3.Text = "Добавлено";

           BD_Group.DataBind();

       }

       catch (Exception ex)

       {

           Label3.Text = "Не Добавлено";

       }

   }

   protected void ImageButton3_Click(object sender, ImageClickEventArgs e)

   {

       if (TextBox2.Text == "")

       {

           Label4.Text = "Поле не заполнено!";

           return;

       }

       /* Начало --- Проверка на Заполненность */

       SqlCommand SaveDocCommand = new SqlCommand();

       SaveDocCommand.Connection = www;

       SaveDocCommand.CommandText = "Select  *  from Категория";

       try

       {

           www.Open();

           SqlDataReader dr = SaveDocCommand.ExecuteReader();

           while (dr.Read())

           {

               if (dr[1].ToString() == TextBox2.Text)

               {

                   Label4.Text = "Такие данные уже в базе есть";

                   return;

               }

               else

               {

               }

           }

       }

       finally

       {

           www.Close();

       }

       /* Конец --- Проверка на Заполненность */

       SaveDocCommand.Connection = www;

       SaveDocCommand.CommandText = "INSERT INTO Категория (Название_Категории) VALUES (@n_k)";

       SqlParameter n_kP = new SqlParameter("@n_k", SqlDbType.NVarChar);

       SaveDocCommand.Parameters.Add(n_kP);

       n_kP.Value = TextBox2.Text;

       try

       {

           SaveDocCommand.Connection.Open();

           SaveDocCommand.ExecuteNonQuery();

           Label4.Text = "Добавлено";

       }

       catch (Exception ex)

       {

           Label4.Text = "Не Добавлено";

       }

   }

   protected void ImageButton4_Click(object sender, ImageClickEventArgs e)

   {

       if (TextBox3.Text == "")

       {

           Label6.Text = "Поле не заполнено!";

           return;

       }

       /* Начало --- Проверка на Заполненность */

       SqlCommand SaveDocCommand = new SqlCommand();

       SaveDocCommand.Connection = www;

       SaveDocCommand.CommandText = "Select  *  from Предметы";

       try

       {

           www.Open();

           SqlDataReader dr = SaveDocCommand.ExecuteReader();

           while (dr.Read())

           {

               if (dr[1].ToString() == TextBox3.Text)

               {

                   Label6.Text = "Такие данные уже в базе есть";

                   return;

               }

               else

               {

               }

           }

       }

       finally

       {

           www.Close();

       }


 

А также другие работы, которые могут Вас заинтересовать

49019. РАСЧЕТ ПАРАМЕТРОВ ЦИФРОВЫХ СИСТЕМ ПЕРЕДАЧИ НЕПРЕРЫВНЫХ СООБЩЕНИЙ 916.5 KB
  Распределение относительной среднеквадратичной ошибки (ОСКО) входных преобразований на четыре составляющих: ОСКО, вызванной ограничением мгновенных значений исходного непрерывного процесса, ОСКО, вызванной временной дискретизацией, ОСКО квантования исходного непрерывного процесса и ОСКО искажений сообщения, вызванных действием помех...
49020. Разработка информационной системы (ИС) «Агентство недвижимости» 635 KB
  Понятие базы данных. Основные термины для работы с базами данных. Создание таблицы в базе данных Описание созданных запросов
49021. Электронный парамагнитный резонанс (ЭПР) 1.39 MB
  В отсутствие постоянного магнитного поля Н магнитные моменты неспаренных электронов направлены произвольно, состояние системы таких частиц вырождено по энергии. При наложении поля Н проекции магнитных моментов на направление поля принимают определенные значения и вырождение снимается (эффект Зеемана), т. е. происходит расщепление уровня энергии электронов E0.
49022. Методы ближнепольной и конфокальной микроскопии. Их аппаратное и метрологическое обеспечение 726.5 KB
  Содержание пояснительной записки курсовой работы проекта: Методы ближнепольной микроскопии Ближнепольный растровый оптический микроскоп БРОМ Аппаратное обеспечение ближнепольной микроскопии Методы конфокальной микроскопии Конфокальный лазерный сканирующий микроскоп Применение конфокального микроскопа...
49023. Режим термической обработки пружин из стали 65Г 267.5 KB
  Основной целью курсовой работы по технологии конструкционных материалов является освоение принципов выбора конструкционных материалов для деталей машин, инструмента, основываясь на знании состава и строения металлических конструкционных материалов и методов придания материалам заданных форм.
49024. РАСЧЕТ ТЕПЛОВОЙ СХЕМЫ КОМБИНИРОВАННОЙ ПГУ ЭЛЕКТРОСТАНЦИИ 1.29 MB
  Схема КПГУ с дожиганием продуктов сгорания ГТУ в топке парового котла и подводом дополнительного топлива и воздуха КПГУ с утилизацией продуктов сгорания ГТУ в топке парового котла без дожигания топлива: при этом генерация пара в котле – утилизаторе осуществляется только за счет теплоты выхлопных газов...
49025. Расчет принципиальной схемы замкнутой системы электропривода 685.5 KB
  Электродвигатель постоянного тока независимого возбуждения с рабочей машиной, при допущениях постоянного магнитного потока двигателя, скомпенсированной реакции якоря двигателя, абсолютно жёстких механических соединениях и постоянном моменте инерции J привода
49026. Расчет физических свойств природного газа при нормальных условиях 1012 KB
  Расчет физических свойств природного газа при нормальных условиях Основные физикохимические свойства компонентов газов используемых для газоснабжения Газы Молекулярная масса кг моль Плотность при 0 С и атмосферном давлении кг м3 Критическая температура...