Проект разработки приложения для управления базой данных учащихся СОШ

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 25.06.2015
Размер файла 2,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство образования и науки Российской Федерации

Грозненский государственный нефтяной технический университет им. академика М.Д. Миллионщикова

Факультет автоматизации и прикладной информатики

Кафедра "Информационные технологии "

ДИПЛОМНЫЙ ПРОЕКТ

Тема "Проект разработки приложения для управления базой данных учащихся СОШ

Выполнил: ст-ка гр. ИТО-10

Денисултанова Лалита Робертовна

Руководитель проекта:

Моисеенко Наталья Анатольевна

Грозный 2015

Содержание

  • Введение
  • Глава 1. Аналитическая часть
  • 1.1 Технико-экономическая характеристика предметной области
  • 1.2 Техническая и технологическая сущность задачи
  • 1.3 Обоснование необходимости и цели использования вычислительных и телекоммуникационных средств для решения задачи
  • 1.4 Постановка задачи
  • 1.5 Анализ существующих разработок и обоснование выбора технологии проектирования
  • Рис.1.4 Скриншот программы SMS-Школа
  • Глава 2. Проектная часть
  • 2.1 Технологическое обеспечение задачи
  • 2.2 Программное обеспечение задачи
  • 2.3 Техническое обеспечение задачи
  • 2.4 Оценка эффективности проекта
  • Глава 3. Информационная безопасность
  • 3.1 Объект защиты
  • 3.2 Методы обеспечения информационной безопасности
  • Заключение
  • Список использованных источников

Введение

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

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

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

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

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

Разработка приложений для работы с БД автоматизирует работу на предприятиях, т.к. избавляет от бумажных документов и позволяет выбирать, находить и редактировать данные, которые требуются в кратчайшие сроки. Автоматизация хранения и поиска данных ведёт к повышению производительности труда. В данное время использование баз данных является актуальным практически во всех сферах деятельности человека, в том числе в сфере образования. [3]

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

Таким образом, на сегодняшний день разработчик не связан рамками какого-либо конкретного пакета, а в зависимости от поставленной задачи может использовать самые разные приложения.

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

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

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

Задачи исследования:

- изучить структуры и содержания образовательного учреждения;

- создать базу данных учащихся СОШ;

- разработать прикладное программное приложение для управления базой данных учащихся СОШ.

Объектом исследования - является процесс разработки и внедрения прикладного программного приложения для управления БД.

Результат работы - разработанное программное приложения для управления базой данных учащихся СОШ.

Глава 1. Аналитическая часть

1.1 Технико-экономическая характеристика предметной области

Предметной областью создания прикладного программного приложения является МБОУ "Средняя общеобразовательная школа №18" г. Грозного (рис. 1.1.).

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

Муниципальное бюджетное общеобразовательное учреждение "Средняя общеобразовательная школа №18" г. Грозного, в дальнейшем именуемое "Учреждение", создано в соответствии с постановлением Мэрии города Грозного от 18.11.2011г. № 95. Учредителем является Мэрия г. Грозного в лице Департамента образования Мэрии г. Грозного.

В настоящее время в МБОУ "СОШ №18" обучаются 1350 учащихся. Из них:

1. 1-4 классы 595 учащихся;

2. 5-9 классы 590 учащихся;

3. 10-11 классы 165 учащихся;

Создано 44 классов-комплектов, обучающихся в 2 смены. Шестидневная рабочая неделя.

В соответствии с п.3 ст.5. Закона РФ "Об образовании" школа обеспечивает доступность начального, общего среднего, общего полного образования.

Для учащихся созданы различные интеллектуальные и развлекательные кружки.

Учащиеся СОШ №18 принимают активное участие в школьных, городских, республиканских олимпиадах, в научно-практических конференциях. [10]

Рис. 1.1 Структура МБОУ "Средняя общеобразовательная школа №18" г. Грозного

1.2 Техническая и технологическая сущность задачи

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

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

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

На сегодняшний день разработчик не связан рамками какого-либо конкретного ПО, а в зависимости от поставленной задачи может использовать самые разные приложения. [5]

1.3 Обоснование необходимости и цели использования вычислительных и телекоммуникационных средств для решения задачи

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

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

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

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

Для этого необходимо решить следующие задачи:

- разработать базу данных учащихся средней образовательной школы;

- разработать прикладное программное обеспечение, которое выполняет следующие функции обработки данных: пополнение базы данных, изменение (редактирование и удаление) данных, поиск по заданным критериям, сканирование базы данных и оценка ее наполненности;

- разработать интуитивно понятный интерфейс, ориентированный на конечного пользователя;

- предусмотреть защиту данных от несанкционированного доступа;

- приложение должно работать на свободно распространяемом программном обеспечении.

Данная разработка позволит снизить временные и трудовые затраты работников школы.

Схема формирования и использования базы данных в образовательном учреждении представлена на рисунке 1.2.

Рис. 1.2 Схема формирования и использования базы данных

Функциональная схема проекта представлена на рисунке 1.3.

Рис. 1.3 Функциональная схема проекта

1.5 Анализ существующих разработок и обоснование выбора технологии проектирования

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

1. SMS-Школа (Рис. 1.4).

Программа предназначена для информирования родителей учеников об успеваемости и школьных событиях путем рассылки им индивидуальных SMS-сообщений либо e-mail. Программа "SMS-Школа" отсылает SMS-сообщения при помощи мобильного телефона или GSM-терминала, подключенного к компьютеру.

Основные возможности программы "SMS-Школа":

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

- Импорт и экспорт данных в Excel и другие программы.

- Учет оплаты родителей за пользование сервисом рассылки SMS.

- Удобный ввод оценок учеников (ведение классных журналов).

- Рассылка сообщений об оценках, полученных учениками выбранного класса за день

база программное учащийся информация

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

- Ведение протокола отсылки SMS. Статистика отправки сообщений за произвольный период времени.

- Возможность работы с общей базой данных одновременно на нескольких компьютерах, объединенных в локальную сеть.

- Автоматическое создание резервных копий базы данных программы. [9]

Рис.1.4 Скриншот программы SMS-Школа

2. База данных учащихся "Наша школа 1.2" (Рис. 1.5).

База данных учеников "Наша школа" создана в программе Microsoft Office Access 2007.

Автор МОУ СОШ №2 г. Пестово.

Для полнофункционального использования базы необходимо наличие установленной программы Microsoft Office Access 2007. При отсутствии Access 2007 нужна версия "Наша школа 1.21"

Возможности базы данных:

- Хранение и систематизация сведений об учащихся, выпускниках, классах, преподавателях, успеваемости.

- Быстрое получение необходимых сведений об учащемся. Формирование списков учащихся по заданным критериям (классу, году рождения, успеваемости, занятости в ДО и др.) с выводом необходимых данных.

- Формирование отчётов по заданным критериям.

- Мониторинг образовательного процесса (по классам, педагогам, учебным периодам)

- Получение статистических сведений, использующихся для составления отчётности.

- Возможность хранить вложения на каждого учащегося в формате doc; jpeg и др. (характеристики, копии св. о рождении, заявления о приёме и т.д.). Пользователи Microsoft Office Access 2007 могут изменять программу и формировать новые запросы под свои требования.

База данных создавалась для использования в своей школе, авторы не имели своей целью широкое распространение программы. [11]

Рис. 1.5 Банк данных "Наша школа"

3. Дневник. ру - Единая образовательная сеть России, которая формирует уникальную электронную среду для учителей, учеников и их родителей. Разработка проекта началась в 2007 году и уже в 2009 проект был запущен под эгидой приоритетного национального проекта "Образование". Дневник. ру поддерживается Полномочным Представительством Президента РФ в СЗФО, региональными администрациями, министерствами, комитетами и департаментами образования.

Дневник. ру (рис.1.6) совмещает в себе три модуля:

- дистанционное обучение,

- управление школьным документооборотом,

- социальная сеть.

Рис. 1.6 Дневник ру

Базовый функционал Дневник. ру бесплатный для всех участников образовательного процесса. Пользователям доступны электронный классный журнал и электронный дневник учащегося, а также медиатека, библиотека образовательной литературы, онлайн-тренинг тестирования ЕГЭ, возможность пройти вступительные олимпиады в крупнейшие ВУЗы России. [8]

Глава 2. Проектная часть

Проектная часть дипломной работы представлена в детальном описании процесса разработки приложения для управления базой данных учащихся СОШ.

2.1 Технологическое обеспечение задачи

При разработке данного прикладного программного приложения были использованы:

1. Microsoft Visual Studio

Microsoft Visual Studio - линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Windows, Windows Mobile, Windows CE,.net Framework, Xbox, Windows Phone.net Compact Framework и Silverlight.

Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как например,Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода напредметно-ориентированных языках программирования или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server).

Visual Studio включает один или несколько компонентов из следующих:

- Visual Basic.net, а до его появления - Visual Basic

- Visual C++

- Visual C#

- Visual F# (включён начиная с Visual Studio 2010)

Многие варианты поставки также включают Microsoft SQL Server либо Microsoft SQL Server Express

В прошлом, в состав Visual Studio также входили продукты:

- Visual InterDev

- Visual J++

- Visual J#

- Visual FoxPro

- Visual Source Safe - файл-серверная система управления версиями

Финальный релиз Visual Studio 2013 стал доступен для загрузки 17 октября 2013 вместе с.net 4.5.1

С момента выхода Visual Studio 2013 уже выпущено 3 обновления. Команда разработки не сбавляет темп, и среда получает новые функции и исправления с очень высокой частотой. (Рис. 2.1). [14]

Рис. 2.1 Окно программы Microsoft Visual Studio 2013

2. Язык программирования С#.

Язык программирования С# - (произносится си-шарп) - объектно-ориентированный язык программирования. Разработан в 1998-2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как основной язык разработки приложений для платформы Microsoft.net и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270. Компилятор с C# входит в стандартную установку самой.net, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств, вроде Visual Studio.

C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.

Переняв многое от своих предшественников - языков C++, Java, Delphi, Модула и Smalltalk - С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем: так, C# не поддерживает множественное наследование классов (в отличие от C++).

Особенности языка. C# разрабатывался как язык программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего, от возможностей самой CLR. Это касается, прежде всего, системы типов C#, которая отражает BCL. Присутствие или отсутствие тех или иных выразительных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR. Так, с развитием CLR от версии 1.1 к 2.0 значительно обогатился и сам C#; подобного взаимодействия следует ожидать и в дальнейшем. (Однако эта закономерность была нарушена с выходом C# 3.0, представляющим собой расширения языка, не опирающиеся на расширения платформы.net.) CLR предоставляет C#, как и всем другим.net-ориентированным языкам, многие возможности, которых лишены "классические" языки программирования. Например, сборка мусора не реализована в самом C#, а производится CLR для программ, написанных на C# точно так же, как это делается для программ на VB.net, J# и др.

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

Кроме того, создатели С# хотели скрыть от разработчика как можно больше незначительных технических деталей, включая операции по упаковке/распаковке типов, инициализации переменных и сборке мусора. Благодаря этому программист, пишущий на C#, может лучше сконцентрироваться на содержательной части задачи. В процессе решения этой задачи проектировщики C# пытались учесть уроки реализации Visual Basic, который достаточно успешен в скрытии деталей реализации, но недостаточно эффективен для написания крупных промышленных систем: создатели C# декларируют, что новый язык обладает мощностью С++ и в то же время простотой Visual Basic.

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

Таким образом, C# представляет собой новый язык программирования, ориентированный на разработку для платформы.net и пригодный как для быстрого прототипирования приложений, так и для разработки крупномасштабных приложений.

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

C# занимает некоторую промежуточную позицию: из стандарта языка убраны наиболее неприятные и неоднозначные особенности С++, но в то же время язык сохранил мощные выразительные возможности, присущие для таких языков, как С++, Java или VB.

Некоторые особенности языка С++, которые не поддерживаются C#:

- по умолчанию, С# запрещает прямое манипулирование памятью, предоставляя взамен богатую систему типов и сборку мусора. Непосредственная работа с памятью по-прежнему доступна в специальном режиме "опасного" кода, но требует явного декларирования. Как следствие, в C# активно используется всего один оператор доступа". ";

- преобразования типов в C# значительно строже, чем в С++, в частности, большинство преобразований может быть совершено только явным образом. Кроме того, все приведения должны быть безопасными (т.е. запрещены неявные преобразования с переполнением, использование целых переменных как указателей и т.п.). Естественно, это заметно упрощает анализ типов при компиляции;

- одной из типичных ошибок в С++ было отсутствие оператора break при обработке одной из веток оператора switch. Проблема "провала" (fall-through) в C# решена кардинальным образом: компилятор требует наличия явного оператора перехода (break или goto case <name>) в любой ветке;

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

Проект C# был начат в декабре 1998 и получил кодовое название COOL (C-style Object Oriented Language). Версия 1.0 была анонсирована вместе с платформой.net в июне 2000 года, тогда же появилась и первая общедоступная бета-версия; C# 1.0 окончательно вышел вместе с Microsoft Visual Studio.net в феврале 2002 года.

Первая версия C# напоминала по своим возможностям Java 1.4, несколько их расширяя: так, в C# имелись свойства (выглядящие в коде как поля объекта, но на деле вызывающие при обращении к ним методы класса), индексаторы (подобные свойствам, но принимающие параметр как индекс массива), события, делегаты, циклы foreach, структуры, передаваемые по значению, автоматическое преобразование встроенных типов в объекты при необходимости (boxing), атрибуты, встроенные средства взаимодействия с неуправляемым кодом (DLL, COM) и прочее.

Кроме того, в C# решено было перенести некоторые возможности C++, отсутствовавшие в Java: беззнаковые типы, перегрузку операторов (с некоторыми ограничениями, в отличие от C++), передача параметров в метод по ссылке, методы с переменным числом параметров, оператор goto (с ограничениями). Также в C# оставили ограниченную возможность работы с указателями - в местах кода, специально обозначенных словом unsafe и при указании специальной опции компилятору.

Проект спецификации C# 2.0 впервые был опубликован Microsoft в октябре 2003 года; в 2004 году выходили бета-версии (проект с кодовым названием Whidbey), C# 2.0 окончательно вышел 7 ноября 2005 года вместе с Visual Studio 2005 и.net 2.0.

В июне 2004 года Андерс Хейлсберг впервые рассказал на сайте Microsoft о планируемых расширениях языка в C#3.0. В сентябре 2005 года вышли проект спецификации C# 3.0 и бета-версия C# 3.0, устанавливаемая в виде дополнения к существующим Visual Studio 2005 и.net 2.0. Окончательно эта версия языка вошла в Visual Studio 2008 и.net 3.5.

Если C# 3.0 совместить с C# 2.0 по генерируемому MSIL-коду; улучшения в языке - чисто синтаксические и реализуются на этапе компиляции. Например, многие из интегрированных запросов LINQ можно осуществить, используя безымянные делегаты в сочетании с предикатными методами над контейнерами вроде List. FindAll и List. RemoveAll.

Превью C# 4.0 было представлено в конце 2008 года, вместе с CTP-версией Visual Studio 2010.

Visual Basic 10.0 и C# 4.0 были выпущены в апреле 2010 года, одновременно с выпуском Visual Studio 2010.

Существует несколько реализаций C#:

- реализация C# в виде компилятора csc. exe включена в состав.net Framework;

- в составе проекта Rotor (Shared Source Common Language Infrastructure) компании Microsoft;

- проект Mono включает в себя реализацию C# с открытым исходным кодом.;

- проект DotGNU также включает компилятор C# с открытым кодом;

- DotNetAnywhere - ориентированная на Embedded-системы реализация CLR, поддерживает практически всю спецификацию C# 2.0. [7]

3. Microsoft Office Access

Microsoft Office Access или просто Microsoft Access - реляционная СУБД корпорации Microsoft. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.

Основные компоненты MS Access:

- построитель таблиц;

- построитель экранных форм;

- построитель SQL-запросов (язык SQL в MS Access не соответствует стандарту ANSI);

- построитель отчётов, выводимых на печать.

Они могут вызывать скрипты на языке VBA, поэтому MS Access позволяет разрабатывать приложения и БД практически "с нуля" или написать оболочку для внешней БД.

Microsoft Jet Database Engine (англ.), которая используется в качестве движка базы данных MS Access является файл-серверной СУБД и потому применима лишь к приложениям, работающим с небольшими объёмами данных и при небольшом числе пользователей, одновременно работающих с этим данными. Непосредственно в Access отсутствует ряд механизмов, необходимых в многопользовательских базах данных, таких, например, как триггеры.

Встроенные средства взаимодействия MS Access со внешними СУБД с использованием интерфейса ODBC снимают ограничения, присущие Microsoft Jet Database Engine. Инструменты MS Access, которые позволяют реализовать такое взаимодействие, называются "связанные таблицы" (связь с таблицей СУБД) и "запросы к серверу" (запрос на диалекте SQL, который "понимает" СУБД).

Корпорация Microsoft для построения полноценных клиент-серверных приложений на базе MS Access рекомендует использовать в качестве движка базы данных СУБД MS SQL Server. При этом имеется возможность совместить с присущей MS Access простотой инструменты для управления БД и средства разработки.

Известны также реализации клиент-серверных приложений на базе связки Access 2003 c другими СУБД, в частности, MySQL.

Access, при работе с базой данных, иначе взаимодействует с жёстким (или гибким) диском, нежели другие программы.

В других программах, файл-документ, при открытии, полностью загружается в оперативную память, и новая редакция этого файла (изменённый файл) целиком записывается на диск только при нажатии кнопки "сохранить".

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

Целостность данных в Access обеспечивается также за счёт механизма транзакций.

Кнопка "Сохранить" в Access тоже есть, но в Access в режиме просмотра данных она нужна, в первую очередь, для сохранения изменённого режима показа таблицы или другого объекта - то есть, для сохранения таких изменений, как:

- изменение ширины столбцов и высоты строк,

- перестановка столбцов в режиме просмотра данных, "закрепление" столбцов и освобождение закреплённых столбцов,

- изменение сортировки,

- применение нового фильтра,

- изменение шрифта; цвета текста, сетки и фона, и т.п.

Кроме того, в Access эта кнопка нужна в режиме "Конструктор" для сохранения изменений структуры объекта базы данных, сделанных в этом режиме.

Версии Access:

- 1992: Access 1 для Windows 3.0

- 1993: Access 2.0 для Windows 3.1x (Office 4.3)

- 1995: Access 7 для Windows 95 (Office 95)

- 1997: Access 97 (Office 97)

- 1999: Access 2000 (Office 2000)

- 2001: Access 2002 (Office XP)

- 2003: Access 2003 (из комплекта программ Microsoft Office 2003)

- 2007: Microsoft Office Access 2007 (из комплекта программ Microsoft Office 2007) (Рис.2.2).

- 2010: Microsoft Office Access 2010 (из комплекта программ Microsoft Office 2010)

- 2012: Microsoft Access 2013 (из офисного пакета приложений Microsoft Office 2013). [15]

Рис. 2.2 Окно программы Microsoft Office Access

2.2 Программное обеспечение задачи

Первым шагом на пути реализации проекта было создание базы данных учащихся СОШ.

База данных состоит из трех таблиц:

- "Учащиеся";

- "Участок";

- "Руководители".

1. Таблица "Учащиеся" содержит в себе всю необходимую информацию об учащихся школы (портфолио ученика, личные и социальные данные). Основной задачей проекта является создание клиентского приложения, которое управляет базой данных и выполняет все запросы на языке запросов SQL. По этой причине, необходимость в распределении всей информации об учащихся в несколько связанных между собою таблиц отсутствует.

Структура таблицы "Учащиеся" (таблица 2.1)

Таблица 2.1

Структура таблицы "Учащиеся"

Имя поля

Тип данных

№ л/д

Текстовый

ФИО

Текстовый

Класс

Текстовый

Литер

Текстовый

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

Дата/время

Улица

Текстовый

Дом

Текстовый

Квартира

Текстовый

Телефон/моб

Текстовый

Телефон/дом

Текстовый

Документ

Текстовый

Серия/док

Текстовый

Номер/док

Текстовый

Фото

Гиперссылка

Пол

Текстовый

СНИЛС

Текстовый

Мед/полис

Текстовый

ИНН

Текстовый

Инвалид (Диагноз)

Текстовый

Ребенок из группы риска

Логический

Дата постановки на учет

Дата/время

Причина постановки на учет

Текстовый

№ прик/о прибытии

Текстовый

Дата прибытия

Дата/время

Откуда прибыл

Текстовый

№ прик/о выбытии

Текстовый

Дата выбытия

Дата/время

Причина выбытия

Текстовый

Портфолио

Текстовый

Примечание

Текстовый

ФИО опекуна

Текстовый

Уровень подготовки ученика

Текстовый

Соц/положение семьи

Текстовый

Увлечение

Текстовый

Сирота/Полусирота

Текстовый

2. Таблица "Участок" содержит в себе список улиц входящих в закрепленный за школой микроучасток.

Структура таблицы "Участок" (таблица 2.2)

Таблица 2.2

Структура таблицы "Участок"

Имя поля

Тип данных

Улица

Текстовый

3. Таблица "Руководители" содержит список классных руководителей.

Структура таблицы "Руководители" (таблица 2.3)

Таблица 2.3

Структура таблицы "Руководители"

Имя поля

Тип данных

Класс

Текстовый

Литер

Текстовый

Кл_руководитель

Текстовый

Таблица "Учащиеся" - основная таблица базы, тогда как таблицы "Участок" и "Руководители" являются вспомогательными.

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

При запуске приложение открывается главное окно программы "School Base" (Рис. 2.3).

Рис. 2.3 Окно программы "School Base"

Листинг окна "School Base"

namespace Диплом

{

public partial class Form1: Form

{

public Form1 ()

{

InitializeComponent ();

}

private void button2_Click (object sender, EventArgs e)

{

dobavit f = new dobavit ();

f. Show ();

}

private void button3_Click (object sender, EventArgs e)

{

Запрос f = new Запрос ();

f. Show ();

}

private void button1_Click (object sender, EventArgs e)

{

О_программе f = new О_программе ();

f. Show ();

}

private void button4_Click (object sender, EventArgs e)

{

Настройки f = new Настройки ();

f. Show ();

}

}

}

Нажатие кнопки "Добавить ученика" генерирует открытие окна Добавление сведений об учащемся" (Рис. 2.4), посредством которого в базу добавляются все данные о новом ученике, либо корректируются данные об учащемся уже имеющемся в базе.

Рис. 2.4 Окно "Добавление сведений об учащемся"

Листинг окна " Добавление сведений об учащемся "

namespace Диплом

{

public partial class dobavit: Form

{

public dobavit ()

{

InitializeComponent ();

}

OleDbConnection connect;

private void button2_Click (object sender, EventArgs e)

{

string orphan, social, risk, pass;

DateTime bdate, d_uchet, d_arrival, d_disposal;

if (connect. State == ConnectionState. Closed)

connect. Open ();

orphan = "";

if (orphan1. Checked == true)

orphan = "Сирота";

if (orphan2. Checked == true)

orphan = "Полусирота";

social = "|";

for (int i = 0; i <= family. CheckedItems. Count - 1; i++)

social = social + family. CheckedItems [i] + "|";

if (risk_group. Checked == true)

risk = "TRUE";

else

risk = "FALSE";

pass = "|";

for (int i = 0; i <= passion. CheckedItems. Count - 1; i++)

pass = pass + passion. CheckedItems [i] + "|";

try

{

bdate = Convert. ToDateTime (born_date. Text);

}

catch (Exception)

{

bdate = new DateTime (1111, 1, 1);

born_date. Text = "";

}

try

{

d_uchet = Convert. ToDateTime (uchet. Text);

}

catch (Exception)

{

d_uchet = new DateTime (1111, 1, 1);

uchet. Text = "";

}

try

{

d_arrival = Convert. ToDateTime (date_arrival. Text);

}

catch (Exception)

{

d_arrival = new DateTime (1111, 1, 1);

date_arrival. Text = "";

}

try

{

d_disposal = Convert. ToDateTime (date_disposal. Text);

}

catch (Exception)

{

d_disposal = new DateTime (1111, 1, 1);

date_disposal. Text = "";

}

if (ID. Text == "" || f_name. Text == "" || l_name. Text == "" || m_name. Text == "")

{

MessageBox. Show ("Внимание! Необходимо заполнить все обязательные поля!", "Ошибка добавления", MessageBoxButtons. OK, MessageBoxIcon. Error);

return;

}

try

{

OleDbCommand command = new OleDbCommand ("INSERT INTO [Учащиеся] ([№ л/д], [ФИО], [Класс], [Литер], [Дата рождения], [Улица], [Дом], [Квартира], [Телефон/моб], [Телефон/дом]," +

" [Документ], [Серия/док], [Номер/док], [Пол], [СНИЛС], [Мед/полис], [ИНН], [Инвалид (Диагноз)], [Сирота/Полусирота], [Соц/положение семьи], [Ребенок из группы риска], [Дата постановки на учет], [Причина постановки на учет]," +

" [№ прик/о прибытии], [Дата прибытия], [Откуда прибыл], [№ прик/о выбытии], [Дата выбытия], [Портфолио], [Примечание], [ФИО опекуна], [Уровень подготовки ученика], [Причина выбытия], [Увлечение])" +

"VALUES ('" + x. Text + ID. Text + "','" + f_name. Text + " " + l_name. Text + " " + m_name. Text + "','" + klass. Text + "','" + liter. Text + "','" + bdate. ToString () +

"','" + street. Text + "','" + dom. Text + "','" + kv. Text + "','" + phone_m. Text + "','" + phone_d. Text + "','" + dok. Text + "','" + series. Text + "','" + number. Text + "','" + pol. Text +

"','" + SNILS. Text + "','" + med_polis. Text + "','" + INN. Text + "','" + diagnosis. Text + "','" + orphan + "','" + social + "'," + risk + ",'" + d_uchet. ToString () + "','" + of_reason. Text +

"','" + order_1. Text + "','" + d_arrival. ToString () + "','" + adr_depart_1. Text + "','" + order_2. Text + "','" + d_disposal. ToString () + "','" + portfolio. Text +

"','" + footnote. Text + "','" + parent. Text + "','" + achiever. Text + "','" + reason_depart. Text + "','" + pass + "')", connect);

command. ExecuteNonQuery ();

}

catch (Exception)

{

MessageBox. Show ("Не удалось добавить запись в базу данных. Указанный номер личного дела уже существует.", "Ошибка добавления", MessageBoxButtons. OK, MessageBoxIcon. Error);

}

}

private void dobavit_Load (object sender, EventArgs e)

{

connect = new OleDbConnection ("Provider=Microsoft. ACE. OLEDB.12.0; Data Source=" + Application. StartupPath. ToString () + "\\Диплом. accdb");

connect. Open ();

}

private void family_SelectedIndexChanged (object sender, EventArgs e)

{

if (family. GetItemCheckState (1) == CheckState. Checked && family. GetItemCheckState (3) == CheckState. Checked)

{

family. SetItemCheckState (1, CheckState. Unchecked);

family. SetItemCheckState (3, CheckState. Unchecked);

}

}

private void klass_SelectedIndexChanged (object sender, EventArgs e)

{

}

private void f_name_TextChanged (object sender, EventArgs e)

{

if (f_name. Text! = "")

x. Text = f_name. Text. Substring (0, 1). ToUpper () + "-";

}

private void phone_d_Click (object sender, EventArgs e)

{

if (phone_d. MaskCompleted == false)

phone_d. SelectionStart = 1;

}

private void phone_m_Click (object sender, EventArgs e)

{

if (phone_m. MaskCompleted == false)

phone_m. SelectionStart = 1;

}

private void born_date_Click (object sender, EventArgs e)

{

if (born_date. MaskCompleted == false)

born_date. SelectionStart = 0;

}

private void SNILS_Click (object sender, EventArgs e)

{

if (SNILS. MaskCompleted == false)

SNILS. SelectionStart = 0;

}

private void uchet_Click (object sender, EventArgs e)

{

if (uchet. MaskCompleted == false)

uchet. SelectionStart = 0;

}

private void date_arrival_Click (object sender, EventArgs e)

{

if (date_arrival. MaskCompleted == false)

date_arrival. SelectionStart = 0;

}

private void date_disposal_Click (object sender, EventArgs e)

{

if (date_disposal. MaskCompleted == false)

date_disposal. SelectionStart = 0;

}

private void risk_group_CheckedChanged (object sender, EventArgs e)

{

if (risk_group. Checked == true)

{

uchet. Enabled = true;

label27. Enabled = true;

of_reason. Enabled = true;

label29. Enabled = true;

}

else

{

uchet. Enabled = false;

label27. Enabled = false;

of_reason. Enabled = false;

label29. Enabled = false;

}

}

private void button1_Click (object sender, EventArgs e)

{

orphan1. Checked = false;

orphan2. Checked = false;

}

private void reason_depart_SelectedIndexChanged (object sender, EventArgs e)

{

if (reason_depart. SelectedIndex == 3)

{

klass. Text = "";

liter. Text = "";

}

}

}

}

При нажатии на кнопку "Поиск учащихся" открывается окно "Поиск" (Рис. 2.5). Данное окно позволяет производить поиск учащихся в базе по различным критериям.

Рис. 2.5 Окно "Поиск"

Листинг окна "Поиск"

namespace Диплом

{

public partial class Запрос: Form

{

public Запрос ()

{

InitializeComponent ();

}

OleDbConnection connect;

DataTable table;

string query;

int parametres;

private void Запрос_Load (object sender, EventArgs e)

{

connect = new OleDbConnection ("Provider=Microsoft. ACE. OLEDB.12.0; Data Source=" + Application. StartupPath. ToString () + "\\Диплом. accdb");

connect. Open ();

}

private void CheckParams ()

{

parametres = 0;

if (name. Text! = "") parametres++;

if (pol. Text! = "---") parametres++;

if (klass. Text! = "---") parametres++;

if (liter. Text! = "---") parametres++;

if (street. Text! = "---") parametres++;

if (dok. Text! = "---") parametres++;

if (achiever. Text! = "---") parametres++;

if (diagnosis. Checked == true) parametres++;

if (risk_group. Checked == true) parametres++;

if (orphan1. Checked == true || orphan2. Checked==true) parametres++;

if (reason_depart. Text! = "---" && reason_depart. Enabled == true) parametres++;

if (passion. SelectedItems. Count! = 0) parametres++;

if (family. SelectedItems. Count! = 0) parametres++;

}

private void zapros_Click (object sender, EventArgs e)

{

CheckParams ();

if (parametres == 0)

{

MessageBox. Show ("Укажите, пожалуйста, параметры запроса.", "School Base", MessageBoxButtons. OK, MessageBoxIcon. Error);

return;

}

query = "SELECT * FROM [Учащиеся] WHERE (";

if (name. Text! ="")

{

query = query + " [ФИО] LIKE '%" + name. Text + "%' ";

parametres--;

if (parametres > 0) query = query + "AND ";

}

if (pol. Text! = "---")

{

query = query + " [Пол] ='" + pol. Text + "' ";

parametres--;

if (parametres > 0) query = query + "AND ";

}

if (klass. Text! = "---")

{

query = query + " [Класс] ='" + klass. Text + "' ";

parametres--;

if (parametres > 0) query = query + "AND ";

}

if (liter. Text! = "---" && liter. Enabled==true)

{

query = query + " [Литер] ='" + liter. Text + "' ";

parametres--;

if (parametres > 0) query = query + "AND ";

}

if (street. Text! = "---")

{

query = query + " [Улица] ='" + street. Text + "' ";

parametres--;

if (parametres > 0) query = query + "AND ";

}

if (dok. Text! = "---")

{

query = query + " [Документ] ='" + dok. Text + "' ";

parametres--;

if (parametres > 0) query = query + "AND ";

}

if (reason_depart. Text! = "---" && reason_depart. Enabled == true)

{

query = query + " [Причина выбытия] ='" + reason_depart. Text + "' ";

parametres--;

if (parametres > 0) query = query + "AND ";

}

if (reason_depart. Text == "---" && reason_depart. Enabled == true)

{

query = query + " [Причина выбытия] <>'' ";

parametres--;

if (parametres > 0) query = query + "AND ";

}

if (achiever. Text! = "---")

{

query = query + " [Уровень подготовки] ='" + achiever. Text + "' ";

parametres--;

if (parametres > 0) query = query + "AND ";

}

if (diagnosis. Checked==true)

{

query = query + " [Инвалид (Диагноз)] <>'' ";

parametres--;

if (parametres > 0) query = query + "AND ";

}

if (risk_group. Checked == true)

{

query = query + " [Ребенок из группы риска] =TRUE ";

parametres--;

if (parametres > 0) query = query + "AND ";

}

if (orphan1. Checked==true)

{

query = query + " [Сирота/Полусирота] ='Сирота' ";

parametres--;

if (parametres > 0) query = query + "AND ";

}

if (orphan2. Checked == true)

{

query = query + " [Сирота/Полусирота] ='Полусирота' ";

parametres--;

if (parametres > 0) query = query + "AND ";

}

if (passion. CheckedItems. Count! =0)

{

query = query + " (";

for (int i = 0; i <= passion. CheckedItems. Count - 1; i++)

{

query = query + " [Увлечение] LIKE '%|" + passion. CheckedItems [i] + "|%' ";

if (i! = passion. CheckedItems. Count - 1)

query = query + "AND ";

}

query = query + ")";

parametres--;

if (parametres > 0) query = query + "AND ";

}

if (family. CheckedItems. Count! = 0)

{

query = query + " (";

for (int i = 0; i <= family. CheckedItems. Count - 1; i++)

{

query = query + " [Соц/положение семьи] LIKE '%|" + family. CheckedItems [i] + "|%' ";

if (i! = family. CheckedItems. Count - 1)

query = query + "AND ";

}

query = query + ")";

parametres--;

if (parametres > 0) query = query + "AND ";

}

query = query + ")";

if (connect. State == ConnectionState. Closed)

connect. Open ();

OleDbCommand command = new OleDbCommand (query, connect);

OleDbDataReader reader = command. ExecuteReader ();

table = new DataTable ();

for (int i = 0; i <= 34; i++)

table. Columns. Add (reader. GetName (i));

if (reader. HasRows == true)

while (reader. Read ())

table. Rows. Add (reader. GetValue (0), reader. GetValue (1), reader. GetValue (2), reader. GetValue (3),

reader. GetValue (4), reader. GetValue (5), reader. GetValue (6), reader. GetValue (7), reader. GetValue (8), reader. GetValue (9), reader. GetValue (10),

reader. GetValue (11), reader. GetValue (12), reader. GetValue (13), reader. GetValue (14), reader. GetValue (15), reader. GetValue (16), reader. GetValue (17), reader. GetValue (18),

reader. GetValue (19), reader. GetValue (20), reader. GetValue (21), reader. GetValue (22), reader. GetValue (23), reader. GetValue (24), reader. GetValue (25),

reader. GetValue (26), reader. GetValue (27), reader. GetValue (28), reader. GetValue (29), reader. GetValue (30), reader. GetValue (31), reader. GetValue (32),

reader. GetValue (33), reader. GetValue (34));

reader. Close ();

MessageBox. Show (table. Rows. Count. ToString ());

connect. Close ();

}

private void disposal_CheckedChanged (object sender, EventArgs e)

{

if (disposal. Checked==true)

{

reason_depart. Enabled = true;

label33. Enabled = true;

}

else

{

reason_depart. Enabled = false;

label33. Enabled = false;

}

}

private void klass_SelectedIndexChanged (object sender, EventArgs e)

{

if (klass. Text == "---")

liter. Enabled = false;

else

liter. Enabled = true;

}

private void button1_Click (object sender, EventArgs e)

{

orphan1. Checked = false;

orphan2. Checked = false;

}

}

}

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

Рис. 2.6 Окно "Настройки"

Кнопка "О программе" вызывает окно "О программе School Base" (Рис. 2.7) которое содержит логотип программы, сведения о разработчике и версии программы.

Рис. 2.7 Окно "О программе School Base"

В окне "Карточка учащегося" отображается вся имеющаяся в базе информация об ученике (Рис. 2.8).

Рис. 2.8 Окно "Карточка учащегося"

Листинг окна "Карточка учащегося"

namespace Диплом

{

public partial class karta: Form

{

public karta ()

{

InitializeComponent ();

}

OleDbConnection connect;

int n, col;

DataTable table;

private void karta_uchenika_Load (object sender, EventArgs e)

{

connect = new OleDbConnection ("Provider=Microsoft. ACE. OLEDB.12.0; Data Source=" + Application. StartupPath. ToString () + "\\Диплом. accdb");

connect. Open ();

if (connect. State == ConnectionState. Closed)

connect. Open ();

OleDbCommand command = new OleDbCommand ("SELECT * FROM [Учащиеся] ORDER BY [ФИО] asc", connect);

OleDbDataReader reader = command. ExecuteReader ();

table = new DataTable ();

for (int i = 0; i <= 34; i++)

table. Columns. Add (reader. GetName (i));

if (reader. HasRows == true)

while (reader. Read ())

table. Rows. Add (reader. GetValue (0), reader. GetValue (1), reader. GetValue (2), reader. GetValue (3),

reader. GetValue (4), reader. GetValue (5), reader. GetValue (6), reader. GetValue (7), reader. GetValue (8), reader. GetValue (9), reader. GetValue (10),

reader. GetValue (11), reader. GetValue (12), reader. GetValue (13), reader. GetValue (14), reader. GetValue (15), reader. GetValue (16), reader. GetValue (17), reader. GetValue (18),

reader. GetValue (19), reader. GetValue (20), reader. GetValue (21), reader. GetValue (22), reader. GetValue (23), reader. GetValue (24), reader. GetValue (25),

reader. GetValue (26), reader. GetValue (27), reader. GetValue (28), reader. GetValue (29), reader. GetValue (30), reader. GetValue (31), reader. GetValue (32),

reader. GetValue (33), reader. GetValue (34));

reader. Close ();

col = table. Rows. Count;

if (col! = 0) ShowStudent (0);

if (col > 1)

{

pred. Enabled = true;

next. Enabled = true;

}

connect. Close ();

}

private void button1_Click (object sender, EventArgs e)

{

}

private void ShowStudent (int n)

{

string fio, date;

DateTime bdate;

ID. Text = table. Rows [n]. ItemArray [0]. ToString ();

fio = table. Rows [n]. ItemArray [1]. ToString ();

f_name. Text = fio. Substring (0, fio. IndexOf (" "));

l_name. Text = fio. Substring (fio. IndexOf (" ") + 1, fio. LastIndexOf (" ") - fio. IndexOf (" "));

m_name. Text = fio. Substring (fio. LastIndexOf (" ") + 1, fio. Length - fio. LastIndexOf (" ") - 1);

klass. Text = table. Rows [n]. ItemArray [2]. ToString () + " " + table. Rows [n]. ItemArray [3]. ToString ();

date = table. Rows [n]. ItemArray [4]. ToString ();

if (date! = "01.01.1111 0: 00: 00")

{

bdate = new DateTime (Convert. ToInt32 (date. Substring (6,4)), Convert. ToInt32 (date. Substring (3,2)), Convert. ToInt32 (date. Substring (0,2)));

born_date. Text = bdate. ToShortDateString ();

}

else

born_date. Text = "не указана";

street. Text = table. Rows [n]. ItemArray [5]. ToString ();

dom. Text = table. Rows [n]. ItemArray [6]. ToString ();

kv. Text = table. Rows [n]. ItemArray [7]. ToString ();

phone_d. Text = table. Rows [n]. ItemArray [9]. ToString ();

phone_m. Text = table. Rows [n]. ItemArray [8]. ToString ();

dok. Text = table. Rows [n]. ItemArray [10]. ToString ();

series. Text = table. Rows [n]. ItemArray [11]. ToString ();

number. Text = table. Rows [n]. ItemArray [12]. ToString ();

SNILS. Text = table. Rows [n]. ItemArray [15]. ToString ();

med_polis. Text = table. Rows [n]. ItemArray [16]. ToString ();

INN. Text = table. Rows [n]. ItemArray [17]. ToString ();

diagnosis. Text = table. Rows [n]. ItemArray [18]. ToString ();

date = table. Rows [n]. ItemArray [20]. ToString ();

if (date! = "01.01.1111 0: 00: 00")

{

bdate = new DateTime (Convert. ToInt32 (date. Substring (6,4)), Convert. ToInt32 (date. Substring (3,2)), Convert. ToInt32 (date. Substring (0,2)));

uchet. Text = bdate. ToShortDateString ();

}

else

uchet. Text = "не находится в группе риска";

of_reason. Text = table. Rows [n]. ItemArray [21]. ToString ();

order_1. Text = table. Rows [n]. ItemArray [22]. ToString ();

date = table. Rows [n]. ItemArray [23]. ToString ();

if (date! = "01.01.1111 0: 00: 00")

{

bdate = new DateTime (Convert. ToInt32 (date. Substring (6,4)), Convert. ToInt32 (date. Substring (3,2)), Convert. ToInt32 (date. Substring (0,2)));

date_arrival. Text = bdate. ToShortDateString ();

}

else

date_arrival. Text = "не указана";

adr_depart_1. Text = table. Rows [n]. ItemArray [24]. ToString ();

order_2. Text = table. Rows [n]. ItemArray [25]. ToString ();

date = table. Rows [n]. ItemArray [26]. ToString ();

if (date! = "01.01.1111 0: 00: 00")

{

bdate = new DateTime (Convert. ToInt32 (date. Substring (6,4)), Convert. ToInt32 (date. Substring (3,2)), Convert. ToInt32 (date. Substring (0,2)));


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.