Разработка бизнес-приложения
Разработка алгоритма программного бизнес-приложения в интегрированной среде Microsoft Visual Studio 2005 на языке С#, в целях автоматизации работы помощника инспектора ПТО, регистрирующего и направляющего на технический осмотр транспортные средства.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 24.12.2013 |
Размер файла | 1,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
2
Размещено на http://www.allbest.ru/
РЕФЕРАТ
Пояснительная записка к курсовому проекту содержит 66 стр., 16 рис., 4 лит.ист., 3 табл., 1 прил.
Ключевые слова: БД, ADO.NET, объектная модель Word, объектная модель Excel, отчет, автовладельцы, транспортные средства, особые отметки, диаграмма.
Целью работы является разработка приложения для кассы ПТО предприятия по техническому осмотру транспортных средств ООО «СЭСМА-3» в интегрированной среде Microsoft Visual Studio 2005 на языке С#.
Разработанное приложение позволяет автоматизировать работу помощника инспектора ПТО, регистрирующего и направляющего на технический осмотр транспортные средства.
СОДЕРЖАНИЕ
- РЕФЕРАТ 1
- СОДЕРЖАНИЕ 2
- ВВЕДЕНИЕ 4
- 1. Постановка задачи 5
- 1.1 Основные функциональные характеристики разрабатываемого приложения 5
- 1.2 Обоснование выбора средства программирования 5
- 1.3 Входная и выходная информация 5
- 1.4 Требования к аппаратному и программному обеспечению 6
- 2. СВЕДЕНИЯ ИЗ ТЕОРИИ 7
- 2.1 С#. 7
- 2.2 Microsoft Visual Studio 7
- 2.3 Технология ADO.NET 8
- 3. организационный анализ предприятия по техническому осмотру транспортных средств ООО «СЭСМА-3» 9
- 3.1 Стратегическая модель целеполагания 9
- 3.2 Организационно-функциональная модель 9
- 3.3 Функционально-технологическая модель 12
- 3.4 Процессно-ролевая модель 12
- 3.5 Количественная модель 13
- 3.6 Инфологическая модель 14
- 3.7 Даталогическая модель 15
- 3.8 Реляционная модель базы данных 17
- 4. АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ 18
- 5. ОПИСАНИЕ ПРОГРАММЫ 20
- 5.1 Функциональное назначение 20
- 5.2 Внутренняя структура программы 20
- 5.3 Описание классов, используемых в программе 20
- 5.4 Описание функций, используемых в программе 21
- 5.5 Описание методов, используемых в программе 26
- 5.6 Описание стандартных компонентов, используемых в программе 26
- 6. Руководство пользователя 28
- ЗАКЛЮЧЕНИЕ 34
- Список используемой литературы 35
- Приложение А 36
ВВЕДЕНИЕ
В современном мире стремительными темпами развиваются информационные технологии и те сферы человеческой деятельности, которые с ними связаны. С каждым годом всё больший и больший объём информации обрабатывается при помощи современных и продолжающих совершенствоваться персональных компьютерах.
Целью данного проекта является исследование алгоритмов разработки бизнес-приложений, а также закрепление практических навыков программирования в среде Microsoft Visual Studio.
Задачи курсового проекта:
Изучить общую структуру и основные виды провайдеров технологии ADO.NET.
Научиться применять классы и методы, используемые при работе с управляемым провайдером OLE DB
Изучить принципы доступа к данным с помощью технологии ADO.NET.
Получить навыки работы с пространствами имен, классами, методами, используемыми для работы с данными.
Научиться генерировать отчеты с помощью машины Crystal Reports, на основе объектных моделей Word и Excel
Научиться графически отображать информацию из БД
разработать алгоритм решения задачи;
осуществить программную реализацию и протестировать разработанное приложение.
1. Постановка задачи
1.1 Основные функциональные характеристики разрабатываемого приложения
программный алгоритм автоматизация бизнес
Данное приложение должно автоматизировать работу помощника инспектора ПТО. Оно реализует основные операций с БД на основе технологии ADO.NET (добавление, редактирование, удаление, фильтрация записей), генерирует отчеты в соответствии с заданными условиями, графически отображает необходимую информацию.
1.2 Обоснование выбора средства программирования
Для написания программы была выбрана среда программирования Microsoft Visual Studio 2005, основанная на языке С#. Данная среда выгодно отличается эффективностью и надежностью. К тому же С# предоставляет разработчику комфортные условия и широкие возможности для создания дружественного интерфейса.
1.3 Входная и выходная информация
Входными данными для приложения являются: информация о личных данных клиентов (ФИО автовладельца, дата рождения, адрес, телефон), информация об автовладельцах (№ и серия водительского удостоверения, № и серия медицинской справки, № и серия страхового полиса), информация о страховых агентствах, информация о транспортных средствах (регистрационный №, марка, год выпуска, № двигателя, № кузова, № шасси, код VIN, цвет), информация об особых отметках транспортных средств (вид груза, вид топлива, фары, пробег, расположение руля).
Выходными данными являются: отчеты Crystal Reports(отчет по личным данным, страховым агентствам, всем автовладельцам, особым отметкам), отчеты в Microsoft Word(по страховым агентствам, имеющим более 1 клиента, по автовладельцам, имеющих более одного транспортного средства, по особым отметкам), отчеты в Microsoft Excel (список личных данных автовладельцев, отчет по автовладельцам и транспортным средствам), уведомление об явке автовладельца за получением талона о прохождении техосмотра, диаграмма, показывающая, сколько транспортных средств имеет один автовладелец.
1.4 Требования к аппаратному и программному обеспечению
Для функционирования данного программного необходимо иметь в наличии:
· ПК (системный блок, монитор, клавиатура, манипулятор)
· Одну из операционных систем Windows 9Х, NT, 2000, XP, установленную на компьютере
· Средства Microsoft Office(MS Word, MS Excel, MS Access)
· Реntium 166 и выше
· Объем оперативной памяти не менее 16 Мб
· Жесткий диск объемом не менее 500 Мб
Именно эти параметры создают условия для полноценной работы программ, созданных в среде Microsoft Visual Studio. Данная программа должна предоставлять пользователю дружественный интерфейс.
2. СВЕДЕНИЯ ИЗ ТЕОРИИ
2.1 С#.
C# -- объектно-ориентированный язык программирования. Разработан в 1998--2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET. Компилятор с C# входит в стандартную установку самой .NET, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств, вроде Visual Studio.
C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.
2.2 Microsoft Visual Studio
Microsoft Visual Studio (по-русски обычно произносится [майкрософт вимжуал стумдио]) -- линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств.
Visual Studio включает один или несколько компонентов из следующих:
· Visual Basic .NET, а до его появления -- Visual Basic
· Visual C++
· Visual C#
Visual Studio построена в архитектуре, поддерживающей возможность использования дополнений (Add-Ins) -- плагинов от сторонних разработчиков, что позволяет расширять возможности среды разработки.
2.3 Технология ADO.NET
В платформе .NET определено множество типов (организованных в соответствующие пространства имен), которые помогают обеспечить взаимодействие с локальными и удаленными хранилищами данных. Общее название пространств имен с этими типами - ADO.NET.
Все типы ADO.NET предназначены для выполнения единого набора задач: установить соединение с хранилищем данных, создать и заполнить данными объект DataSet, отключиться от хранилища данных и вернуть изменения, внесенные в объект DataSet, обратно в хранилище данных. Объект DataSet - это тип данных, представляющий локальный набор таблиц и информацию об отношениях между ними.
После создания объекта DataSet и его заполнения данными можно программными средствами производить запросы к нему и перемещаться по таблицам. Можно выполнять все операции как при работе с обычными базами данных: добавлять в таблицы новые записи, удалять и изменять существующие, применять к ним фильтры и т.п. После того как клиент завершит внесение изменений, информация о них будет отправлена в хранилище данных для обработки.
Все возможности ADO.NET заключены в типах, определенных в соответствующих пространствах имен, главным из которых является System.Data.
Эти типы предназначены для представления данных, полученных из источника (но не для установления соединения непосредственно с источником). В основном эти типы представляют собой объектные представления примитивов для работы с базами данных - таблицами, строками, столбцами, ограничениями и т.п.
3. организационный анализ предприятия по техническому осмотру транспортных средств ООО «СЭСМА-3»
3.1 Стратегическая модель целеполагания
Целью функционирования предприятия по техническому осмотру транспортных средств ООО «СЭСМА-3» ст. Полтавской является технический осмотр транспортных средств. Дополнительные отделы предприятия позволяют регистрировать транспортные средства, их покупку и продажу, принимать уплату налогов и пошлин, штрафов, производить страховку транспортных средств, регистрировать государственные номера транспортных средств, проходить авто-мото экспертизу.
3.2 Организационно-функциональная модель
Предприятие по техническому осмотру транспортных средств ООО «СЭСМА-3» ст. Полтавской состоит из нескольких отделов, задачи которых представлены в Таблице 1.
Таблица 1 - отделы ООО «СЭСМА-3».
Отдел |
Задачи отдела |
|
Отделение учета и регистрации транспортных средств ГИБДД Красноармейского района |
Данный отдел занимается учетом и регистрацией транспортных средств, регистрацией государственных номеров транспортных средств, приемом оплаты государственных пошлин, регистрацией автовладельцев на техосмотр, выдачей соответственных квитанций. |
|
Отделение банка «Кубань Кредит» |
Данный отдел занимается приемом оплаты штрафов и прочих оплат. |
|
Касса ПТО(пункта технического осмотра) |
Данный отдел занимается приемом необходимых документов для прохождения техосмотра, внесением данных автовладельцев и транспортных средств в базу данных, выдачей листа учета прохождения транспортного средства по постам. |
|
Пункт технического осмотра(линия ТО) |
Данная линия технического осмотра занимается осмотром транспортных средств. Осмотр распределен по трем постам. |
|
Пост 1.1) Визуальный осмотр(установка автомобиля на площадку осмотра, проверка на соответствие требованиям-- тип, цвет, расположение)2) Проверка света фар, указателей, аптечка, огнетушители(регулировка и сила света фар дальнего и ближнего света, противотуманных фар, передних габаритных огней, передних указателей поворота и аварийной сигнализации, сигналов торможения, задних габаритных и противотуманных огней, задних указателей поворота и аварийной сигнализации, фонарей освещения регистрационного знака, огней заднего хода, световозвращателей, сигналы включения световых приборов, находящихся в кабине, наличие и комплектность медицинской аптечки, наличие и срок годности огнетушителя, знака аварийной остановки)3) Реклама, светография(размещение наружной рекламы)4) Светопропускание стекол(состояние стекол, наличие дополнительных покрытий, цветографические схемы окраски АТС)5) Оформление результатов проверки. |
||
Пост 2.1) Ходовая часть(проверка передней подвески на отсутствие повреждений и дефектов деталей, состояние и крепление шаровых опор, шкворней, амортизаторов; проверка задней подвески на крепление деталей, состояние и крепление втулок продольных и поперечных тяг, рессор, амортизаторов; проверка состояния карданной передачи и крепление ее деталей у заднепроводных транспортных средств, крестовины, подвесные подшипники, эластичные муфты, шлицевые соединения; проверка состояния приводов передних колес у переднеприводных и полноприводных транспортных средств; проверить давление в шинах, наличие и крепление запасного колеса, остаточную высоту рисунка протектора шин, маркировку шин и соответствие их установки, конструкции, размеру и допустимой нагрузки, правильность установки шин с шипами противоскольжения; осмотр с наружной и внутренней стороны, проверить состояние шин, состояние дисков ободьев колес и наличие элементов их крепления.)2) Рулевое управление(проверить рулевое управление и его составные части на соответствие конструкции транспортного средства; установить на рулевое кресло прибор, возле переднего колеса установить и отрегулировать датчик перемещения и произвести замер люфта в рулевом управлении; проверка взаимного перемещения деталей рулевого привода, крепление картера рулевого механизма и рычагов поворотных цапф; проверка осевого перемещения м качания в плоскости, отсутствие подтекания рабочей жидкости в гидросистеме рулевого управления.)3) Тормозной привод(проверка геометричности гидравлического тормозного привода, работоспособность системы сигнализации и контроля тормозных систем, работоспособность монометра пневманического, состояние элементов тормозных систем.)4) Оформление результатов проверки. |
||
Пост 3.1) Контроль тормозных систем(проверить состояние и работу в установленном режиме)2) Стеклоочистители и стеклоомыватели(проверить состояние и работу в установленном режиме; проверить стеклоочистители ветрового стекла, работоспособность стеклоомывателей ветрового стекла при работающем двигателе на максимальных оборотах коленвала; с электроприводом при включенном свете фар)3) Двигатель и его системы(проверка герметичности системы питания транспортного средства с бензиновыми и дизельными двигателями по подтеканию топлива, работоспособность запоров топливных баков и устройств перекрывания топлива, герметичность газовой системы питания газобаллонных транспортных средств, соответствие сроков периодического освидетельствования газовых баллонов; проверка предельно допустимого содержания загрязняющих веществ в отработавших газах АТС с бензиновым двигателем; проверка дымности отработавших газов транспортных средств с дизельными двигателями.)4) Прочие элементы конструкции(проверить состояние, соответствие места и надежность крепления государственных регистрационных знаков, наличие состояния и крепления зеркал заднего вида, звуковой сигнал, работоспособность механизма регулировки фиксирующих устройств сидений водителя и пассажира, работоспособность замков двери, работоспособность устройств обогрева и обдула, противоугонных устройств; проверка наличия, крепления и состояния грязозащитных фартуков и брызговиков, исправность тягового сцепного устройства, переднее буксирное устройство АТС; проверка наличия, состояния и работоспособности ремней безопасности.)5) Оформление результатов проверки. |
||
Бухгалтерия |
Занимается сбором, регистрацией и обобщением информации в денежном выражении о состоянии имущества, обязательств организации и их изменениях (движении денежных средств) путём сплошного, непрерывного и документального учёта всех хозяйственных операций.Основной задачей бухгалтерии является формирование полной и достоверной информации (бухгалтерской отчётности) о деятельности предприятия и его имущественном положении. |
|
Авто-мото экспертиза |
Данный отдел занимается экспертизой транспортных средств, проверкой и выявлением неисправностей, диагностикой. |
|
Автострахование |
Данный отдел позволяет застраховать транспортное средство. Автовладелец может выбрать наиболее удобное для него страховое агенство(«Росгосстрах», «Югория», «Русский мир»). |
Данная структура представлена на Рисунке 1.
Рисунок 1 - Организационно-функциональная модель
3.3 Функционально-технологическая модель
Автовладелец регистрируется на прохождение техосмотра в отделении учета и регистрации транспортных средств ГИБДД Красноармейского района. Далее необходимо предоставить документы в кассу ПТО, где производится учет и соответствующая запись в базу данных. По ней можно быстро определить основные данные транспортного средства, особые отметки, личные данные автовладельца, найти автовладельца по необходимым параметрам поиска, найти траснпортное средство по необходимым параметрам поиска, просмотреть и распечатать отчеты.
3.4 Процессно-ролевая модель
Из отделения учета и регистрации транспортных средств ГИБДД Красноармейского района документы о регистрации, снятии с учета транспортного средства поступают в ГИБДД. Квитанции об оплате государственных пошлин, диагностике и регистрации транспортного средства на прохождение техосмотра поступают в кассу ПТО. Помимо этого, в кассе ПТО, необходимо предъявить личный паспорт, техпаспорт, страховое свидетельство, медицинскую справку. На кассе необходимые данные вносятся в базу данных, которые идут на центральный компьютер, после чего выдается лист учета прохождения транспортного средства по постам.
Далее автомобиль отправляется на линию ТО. После проверки на первом посту в лист учета прохождения транспортного средства по постам вносится соответствующая запись, делается фото автомобиля камерой внешнего наблюдения, данные поступают на центральный компьютер, где формируется отчет, содержащий транспортные сведения, сведения об автовладельце и прикрепляется фото автомобиля. После проверки на втором посту данные поступают на центральный компьютер, где формируется соответствующий отчет. После проверки на третьем посту центральный компьютер формируют отчет по измеряемым параметрам. Заполняется диагностичепская карта, содержащая все проверенные данные. Карта направляется начальнику ПТО на проверку, подпись и заверение печатью. Далее диагностическая карта направляется к инспектору ГИБДД. Инспектор проверяет соответствие данных реальным. Если обнаруживается ошибка, он вправе зачеркнуть подпись начальника ПТО и направить автомобиль на повторную проверку. Если все нормально, автовладельцу выдается талон о прохождении техосмотра. Диагностическая карта делается в трех экземплярах: автовладельцу, в бухгалтерию и в архив.
3.5 Количественная модель
Минимальное количество ресурсов, необходимых для функционирования предприятия: 20 ПК, земельный участок площадью от 9,031 тыс. м2, помещения площадью от 30 м2, 10 автомобилей, оснащение помещений электричеством, сигнализацией, водопроводом, наличие соответствующего оборудования:
· стенд тормозной(СТМ 8000-1 шт.)
· установка компрессорная(СБ4/Ф-500НВ-1 шт.)
· люфтометр(ИСЛ-М-1 шт.)
· измеритель параметров света(ИПФ-01-1 шт.)
· газоанализатор(Автотест 02 СО-СН-1 шт.)
· измеритель дымности(Мета-01 МП-1 шт.)
· аппарат определения подделки(FD-04/06-1 шт.)
· прибор для определения светопропускания стекла(«Тоник»-1 шт.)
· течеискатель(ТМ-Мета-02-1 шт.)
· прибор для проверки маркировочных данных(DEX-detektor-1 шт.)
· прибор для проверки натяжных ремней(ППНР-1 шт.)
· штангельциркуль(2 шт.)
· секундомер(2 шт.)
· домкрат подкатный(1 шт.)
· набор ключей комплект(1 шт.)
· молоток(2 шт.)
· монтировка(2 шт.)
· шланги подкачки(2 шт.)
· шланг вентиляции(1 шт.)
3.6 Инфологическая модель
Инфологическая модель базы данных включает: логическую схему данных: таблицы, связи, ключевые поля. Инфологическая модель нашей базы данных представлена в Таблице 2:
Таблица 2 - Инфологическая модель базы данных.
Название таблицы |
Ключ |
Связь с другими таблицами |
|
Автомобиль |
Ключ |
Особые отметкиЛичные данные автовладельца |
|
Особые отметки |
Ключ |
АвтомобильЛичные данные автовладельца |
|
Личные данные автовладельца |
Ключ |
АвтомобильОсобые отметкиАвтовладелец |
|
Страховые агентства |
Ключ |
Автовладелец |
|
Автовладелец |
Ключ |
Страховые агенстваЛичные данные автовладельца |
Данная инфологическая модель представлена на Рисунке 2:
Рисунок 2 - Инфологическая модель базы данных
3.7 Даталогическая модель
Даталогическая модель употребляется при рассмотрении вопросов представления данных в памяти ЭВМ.
Исходя из возможностей Microsoft Access, разрабатываются соответствующие формы представления данных.
Даталогическая модель представлена в Таблице 3:
Таблица 3 - Даталогическая модель базы данных.
Название таблицы |
Атрибут |
Тип данных |
Размер |
|
Автомобиль |
Код автомобиляРегистрационный №МаркаГод выпуска№ двигателя№ шасси№ кузоваКод VINЦветФИО владельца |
СчетчикТекстТекстТекстТекстТекстТекстТекстТекстЧисло |
?253010505050502550 |
|
Особые отметки |
Код особых отметокРегистрационный №ФИО владельцаВид грузаПробегФарыВид топливаРасположение руля |
СчетчикЧислоЧислоТекстТекстТекстТекстТекст |
?2510010010010010020 |
|
Личные данные автовладельца |
Код личных данныхФИОДата рожденияАдресТелефон |
СчетчикТекстДата/времяТекстТекст |
?1003015040 |
|
Страховое агенство |
Код страхового агенстваСтраховое агенство |
СчетчикТекст |
?50 |
|
Автовладелец |
Код автовладельцаФИО№ водительского удостоверенияСерия водительского удостоверения№ медицинской справкиСерия медицинской справки№ страхового полисаСерия страхового полисаКем выдан страховой полисДата оплаты ТО |
СчетчикЧислоТекстТекстТекстТекстТекстТекстЧислоДата/время |
?10050505050505050 |
3.8 Реляционная модель базы данных
Определив связи между сущностями и атрибутами, строим реляционную модель базу данных. Данная реляционная модель представлена на Рисунке 3:
Рисунок 3 - Реляционная модель базы данных
4. АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ
Для начала необходимо создать БД в MS Access, к которой будет обращаться разрабатываемое приложение.
Создается главная форма «ООО «СЭСМА-3»» (Form1). На ней размещаются катринка(pictureBox1) и кнопки: автовладельцы(button1), транспортные средства(button2), особые отметки(button3).
Создается форма «Информация об автовладельцах». Для нее настраиваются компоненты: oleDbConnection1, oleDbDataAdapter1(Автовладелец), oleDbDataAdapter3(Личные_данные_автовладельцев), oleDbDataAdapter5(Страховые_агентства), по каждому из которых генерируется dataset11. На форме размещаются компоненты-таблицы dataGridView1, dataGridView2, dataGridView3, для которых происходит связь с конкретными таблицами(свойство DataSource) и задаются значения столбцам(свойство Columns).
На форме, для каждого компонента-таблицы размещаются кнопки: добавить, изменить, удалить и соответствующие кнопки, при нажатии на которые генерируются необходимые отчеты. Также форма содержит компонент-флажок(checkBox1), при нажатии на который происходит фильтрация данных компонента dataGridView3 формы по ФИО.
Аналогично для форм «Информация о транспортных средствах»(Form7) и «Особые отметки»(Form8).
Для генерации отчетов Crystal Reports выполняем команду меню Project -> Add New Item, в открывшемся окне выберите пункт Crystal Report. В панели Field Explorer выбираем нужные поля таблиц и переносим их в секцию Details формы отчета. Создаем новые формы для отображения отчетов на экране (Form2, Form3, Form4, Form5, Form6, Form9, Form10).
Чтобы генерировать отчеты в MS Word и MS Excel, необходимо добавить компоненты Microsoft Word 11.0 Object Library и Microsoft Excel 11.0 Object Library. Создаем соответствующие шаблоны документов и размещаем их в папках docs и reports соответственно в каталоге, где находится .exe-файл приложения.
Написание программы сводится непосредственно к написанию кода обработки всех этих событий
5. ОПИСАНИЕ ПРОГРАММЫ
5.1 Функциональное назначение
Данная программа предназначена для автоматизации учета транспортных средств, их особых отметок и автовладельцев.
5.2 Внутренняя структура программы
Так как при нажатии какой-либо кнопки вызывается обработчик события нажатия этой кнопки, то для каждой кнопки необходимо написать свой обработчик, который оформляется в виде соответствующей процедуры.
Таким образом, исходный код программы состоит из процедур, содержащихся в модуле, используемом программой. Ознакомиться с исходным кодом программы можно в Приложении A.
5.3 Описание классов, используемых в программе
public partial class Form1 : Form-- класс главной формы
public partial class Form2 : Form-- класс формы «Информация автовладельцев»
public partial class Form3 : Form-- класс формы «Отчет по личным данным автовладельцев»
public partial class Form4 : Form-- класс формы «Отчет по страховым агентствам»
public partial class Form5 : Form-- класс формы «Отчет по автовладельцам»
public partial class Form6 : Form-- класс формы для заполнения «Явка»
public partial class Form7 : Form-- класс формы «Информация о транспортных средствах»
public partial class Form8 : Form-- класс формы «Особые отметки»
public partial class Form9 : Form-- класс формы «Отчет по особым отметкам»
public partial class Form10 : Form-- класс формы «Диаграмма»
5.4 Описание функций, используемых в программе
Функции Главной формы(Form1):
- public Form1()-- функция инициализации главной формы(Form1)
- private void Form1_Load(object sender, EventArgs e)-- функция закрузки главной формы(Form1)
- private void button1_Click(object sender, EventArgs e)-- открытие формы «Информация автовладельцев»(Form2)
- private void button2_Click(object sender, EventArgs e)-- открытие формы «Информация о транспортных средствах»(Form7)
- private void button3_Click(object sender, EventArgs e)-- открытие формы «Особые отметки»(Form8)
Функции формы «Информация автовладельцев»(Form2):
- public Form2()-- функция инициализации формы «Информация автовладельцев»(Form2)
- private void Form2_Load(object sender, EventArgs e)-- функция закрузки формы «Информация автовладельцев»(Form2)
- private void Form2_FormClosing(object sender, FormClosingEventArgs e)-- функция закрытия формы «Информация автовладельцев»(Form2)
- private void UpdateLich()-- функция обновления таблиц БД
- private void button1_Click(object sender, EventArgs)-- функция нажатия кнопки на добавление новой строки в таблицу «Личные_данные_автовладельца»
- private void button2_Click(object sender, EventArgs e) -- функция нажатия кнопки на добавление новой строки в таблицу «Страховые_агентства»
- private void button3_Click(object sender, EventArgs e) -- функция нажатия кнопки на добавление новой строки в таблицу «Автовладелец»
- private void button4_Click(object sender, EventArgs e) -- функция нажатия кнопки на изменение выделенной строки таблицы «Личные_данные_автовладельца»
- private void button5_Click(object sender, EventArgs e) -- функция нажатия кнопки на изменение выделенной строки таблицы «Страховые_агентства»
- private void button6_Click(object sender, EventArgs e) -- функция нажатия кнопки на изменение выделенной строки таблицы «Автовладелец»
- private void button7_Click(object sender, EventArgs e) -- функция нажатия кнопки на удаление выделенной строки таблицы «Личные_данные_автовладельца»
- private void button8_Click(object sender, EventArgs e) -- функция нажатия кнопки на удаление выделенной строки таблицы «Страховые_агентства»
- private void button9_Click(object sender, EventArgs e) -- функция нажатия кнопки на удаление выделенной строки таблицы «Автовладелец»
- private void checkBox1_CheckedChanged(object sender, EventArgs e)-функция отметки флажка, осуществляющая фильтр по ФИО
- private void button10_Click(object sender, EventArgs e) -- функция нажатия кнопки на открытие формы «Отчет по личным данным автовладельцев»(Form3)
- private void button11_Click(object sender, EventArgs e) -- функция нажатия кнопки на открытие формы «Отчет по страховым агентствам»(Form4)
- private void button12_Click(object sender, EventArgs e) -- функция нажатия кнопки на открытие формы «Отчет по автовладельцам»(Form5)
- private void button13_Click(object sender, EventArgs e) -- функция нажатия кнопки на открытие формы для заполнения «Явка»(Form6)
- private void button14_Click(object sender, EventArgs e) -- функция нажатия кнопки на открытие отчета в MS Word, показывающий страховые агентства, имеющие более одного клиента
- private void button15_Click(object sender, EventArgs e) -- функция нажатия кнопки на открытие отчета в MS Excel, составляющего список данных автовладельцев
Функции формы «Отчет по личным данным автовладельцев»(Form3):
- public Form3()-- функция инициализации формы «Отчет по личным данным автовладельцев»(Form3)
- private void Form3_Load(object sender, EventArgs e) -- функция закрузки формы «Отчет по личным данным автовладельцев»(Form3)
Функции формы «Отчет по страховым агентствам» (Form4):
- public Form4()-- функция инициализации формы «Отчет по страховым агентствам»(Form4)
- private void Form4_Load(object sender, EventArgs e) -- функция закрузки формы «Отчет по страховым агентствам»(Form4)
Функции формы «Отчет по автовладельцам»(Form5):
- public Form5()-- функция инициализации формы «Отчет по автовладельцам»(Form5)
- private void Form5_Load(object sender, EventArgs e) -- функция закрузки формы «Отчет по автовладельцам»(Form5)
Функции формы «Явка»(Form6):
- public Form6()-- функция инициализации формы «Явка»(Form6)
- private void Form6_Load(object sender, EventArgs e) -- функция закрузки формы «Явка»(Form6)
Функции формы «Информация о транспортных средствах»(Form7):
- public Form7()-- функция инициализации формы «Информация о транспортных средствах»(Form7)
- private void Form7_Load(object sender, EventArgs e) -- функция закрузки формы «Информация о транспортных средствах»(Form7)
- private void Form7_FormClosing(object sender, FormClosingEventArgs e)-- функция закрытия формы «Информация о транспортных средствах»(Form7)
- private void UpdateLich()-- функция обновления таблиц БД
- private void button1_Click(object sender, EventArgs)-- функция нажатия кнопки на добавление новой строки в таблицу «Личные_данные_автовладельца»
- private void button2_Click(object sender, EventArgs e) -- функция нажатия кнопки на добавление новой строки в таблицу «Автомобиль»
- private void button3_Click(object sender, EventArgs e) -- функция нажатия кнопки на добавление новой строки в таблицу «Личные_данные_автовладельца»
- private void button4_Click(object sender, EventArgs e) -- функция нажатия кнопки на изменение выделенной строки таблицы «Автомобиль»
- private void button5_Click(object sender, EventArgs e) -- функция нажатия кнопки на удаление выделенной строки таблицы «Личные_данные_автовладельца»
- private void button6_Click(object sender, EventArgs e) -- функция нажатия кнопки на удаление выделенной строки таблицы «Автомобиль»
- private void button7_Click(object sender, EventArgs e) -- функция формирования отчета по автомобилям в MS Word
- private void button8_Click(object sender, EventArgs e) -- функция формирования отчета в MS Word по автовладельцам, имеющим более одного автомобиля
- private void button9_Click(object sender, EventArgs e) -- функция формирования отчета в MS Excel
- private void button10_Click(object sender, EventArgs e) -- функция нажатия кнопки на открытие формы «Диаграмма»(Form10)
Функции формы «Особые отметки»(Form8):
- public Form8()-- функция инициализации формы «Особые отметки»(Form8)
- private void Form8_Load(object sender, EventArgs e) -- функция закрузки формы «Особые отметки»(Form8)
- private void Form8_FormClosing(object sender, FormClosingEventArgs e)-- функция закрытия формы «Особые отметки»(Form8)
- private void UpdateLich()-- функция обновления таблиц БД
- private void button1_Click(object sender, EventArgs)-- функция нажатия кнопки на добавление новой строки в таблицу «Особые_отметки»
- private void button2_Click(object sender, EventArgs e) -- функция нажатия кнопки на изменение выделенной строки таблицы «Особые_отметки»
- private void button3_Click(object sender, EventArgs e) -- функция нажатия кнопки на удаление выделенной строки таблицы «Особые_отметки»
- private void button4_Click(object sender, EventArgs e) -- функция нажатия кнопки на открытие формы «Отчет по особым отметкам»(Form9)
- private void button5_Click(object sender, EventArgs e) -- функция формирования отчета по особым отметкам в MS Word
- private void button6_Click(object sender, EventArgs e) -- функция формирования отчета в MS Excel
Функции формы «Отчет по особым отметкам»(Form9):
- public Form9()-- функция инициализации формы «Отчет по особым отметкам»(Form9)
- private void Form9_Load(object sender, EventArgs e) -- функция закрузки формы «Отчет по особым отметкам»(Form9)
Функции формы «Диаграмма»(Form10):
- public Form10()-- функция инициализации формы «Диаграмма»(Form10)
- private void Form10_Load(object sender, EventArgs e) -- функция закрузки формы «Диаграмма»(Form10)
5.5 Описание методов, используемых в программе
private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e), private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e), private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)--методы получения выделенной строки
private void OpenExcelDocument(string FileName)--метод создания нового отчета в Excel на основе заданного шаблона
private void PutCell(string cell, string val), private void PutCellBorder(string cell, string val)--методы занесения данных в ячейки
private void OpenDocument(string FileName)--метод открытия Word, создания документа на основе шаблона, добавление документа в список документов приложения
public void ReplaceText(string word, string repl), private Boolean ExecuteReplace(Word.Find find), private Boolean ExecuteReplace(Word.Find find, Object replaceOption) -- методы поиска и замены в тексте документа
5.6 Описание стандартных компонентов, используемых в программе
Компонент textBox -- используется для ввода или вывода пользовательского текста. В программе используется для добавления/изменения записей таблиц.
Компонент button -- используется для выполнения какого либо действия.
Компонент checkBox -- флаг-переключатель. В программе применяется для фильтрации по ФИО.
Компонент comboBox-- выпадающий список. В программе используется для выбора данных из списка.
Компонент dateTimePicker-- поле ввода даты. В программе используется при составлении документа о явке автовладельца.
6. Руководство пользователя
Установка приложения производится путем копирования sesma3.exe на к компьютер
Запускаемым файлом программы является файл sesma3.exe.
После запуска на экране появляется главное окно программы (Рисунок 4).
Рисунок 4 - Главное окно программы «ООО «СЭСМА-3»»
На нем расположены кнопки: «Автовладельцы», «Транспортные средства», «Особые отметки». При нажатии на кнопки открываются, соответственно формы «Информация об автовладельцах» (Рисунок 5), «Информация о транспортных средствах» (Рисунок 6), «Особые отметки» (Рисунок 7).
Рисунок 5 - Форма «Информация об автовладельцах»
Рисунок 6 - Форма «Информация о транспортных средствах»
Рисунок 7 - Форма «Особые отметки»
Рассмотрим реализацию программы на примере формы «Информация об автовладельцах».
Для добавления данных в таблицу необходимо внести информацию в текстовые поля и нажать на кнопку «Добавить» (Рисунок 8).
Рисунок 8 - Добавление строки
Для изменения данных таблицы необходимо выделить нужную строку, внести изменения в текстовых полях и нажать на кнопку «Изменить» (Рисунок 9). Удаление производится аналогично.
Рисунок 9 - Изменение строки
Для фильтрации данных выбираем человека в выпадающем списке (Рисунок 10).
Рисунок 10 - Выбор человека
Нажимаем на флаг-переключатель «Фильтр по ФИО». В результате отобразится строка только с выбранным человеком (Рисунок 11).
Рисунок 11 - Фильтрация
При нажатии на кнопку «Отчет по автовладельцам» открывается данный отчет (Рисунок 12).
Рисунок 12 - Отчет по автовладельцам
При выборе человека в таблице «Личные данные автовладельца» нажимаем на кнопку «Явка». Откроется форма для заполнения (Рисунок 13). Здесь пользователь вносит место, куда необходимо явиться автовладельцу и дату явки.
Рисунок 13 - Форма для заполнения
При нажатии на кнопку «ОК» откроется отчет в Word (Рисунок 14).
Рисунок 14 - Отчет в Word
При нажатии на кнопку «Список в Excel» открывается отчет в Excel (Рисунок 15).
Рисунок 15 - Отчет в Excel
Аналогичные действия пользователь может производить с остальными формами.
При нажатии на кнопку «Диаграмма» на форме «Транспортные средства» откроется отчет, содержащий диаграмму, в которой отображается количество транспортных средств автовладельцев (Рисунок 16).
Рисунок 16 - Диаграмма
ЗАКЛЮЧЕНИЕ
В ходе выполнения курсового проекта были получены и закреплены навыки программирования в среде Microsoft Visual Studio.
В результате создано работоспособное приложение для кассы ПТО предприятия по техническому осмотру транспортных средств ООО «СЭСМА-3». Проведенное тестирование работы приложения не выявило существенных ошибок. Это, однако, не исключает возможности их появления при проведении более глубокого и длительного тестирования.
Разработанное приложение автоматизирует работу помощника инспектора ПТО. Оно реализует основные операций с БД на основе технологии ADO.NET (добавление, редактирование, удаление, фильтрация записей), генерирует отчеты в соответствии с заданными условиями, графически отображает необходимую информацию.
Плюсы данного приложения в том, что его не надо инсталлировать, простой пользовательский интерфейс, простота использования, небольшой объем занимаемой оперативной памяти.
К минусам можно отнести то, что без установленной среды разработки данное приложение функционировать не будет.
Список используемой литературы
1. Кунт Рейсдорф - « Microsoft Visual Studio 2005. Освой самостоятельно за 21 день»
2. Джаррод Холингворт, Боб Сворт, Марк Кэшмэн, Поль Густавсон - « Microsoft Visual Studio 2005. Руководство разработчика»Электронный самоучитель “World C#”.
3. Х. Дейтел, П. Дейтел. Как программировать на C#: Пер. с англ. - Москва: ЗАО "Издательство БИНОМ", 1998. 1024с.
Приложение А
Листинг главной формы:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace курсач
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
Form2 rep = new Form2();
rep.Show();
}
private void button2_Click(object sender, EventArgs e)
{
Form7 rep = new Form7();
rep.Show();
}
private void button3_Click(object sender, EventArgs e)
{
Form8 rep = new Form8();
rep.Show();
}
}
}
Листинг формы «Информация автовладельцев»:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using CrystalDecisions.Shared;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Windows.Forms;
using System.Windows.Forms;
using Microsoft.Office.Core;
namespace курсач
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
public Form2 MF;
private void Form2_Load(object sender, EventArgs e)
{
oleDbConnection1.Open(); //открыть соединение
//заполнить таблицы в объекте DataSet
UpdateLich();
UpdateStrag();
UpdateAwz();
}
private int LichId;
private int StragId;
private int AwzId;
Word.Application wordApp;
Word.Document wordDoc;
Excel.Application ExcelApp; //объект приложения
Excel.Window ExcelWindow; //объект окна Excel
Excel.Workbook WorkBook; //объект рабочей книги
Excel.Sheets ExcelSheets; //набор листов Excel
Excel.Worksheet WorkSheet; //объект рабочего листа
Excel.Range range; //диапазон ячеек
private void OpenExcelDocument(string FileName)
{
//создать новый объект приложения Excel
ExcelApp = new Excel.Application();
//задать файл шаблона
object template = Application.StartupPath + @"\reports\" + FileName;
//применить шаблон
ExcelApp.Workbooks.Add(template);
//получить первую рабочую книгу файла
WorkBook = ExcelApp.Workbooks[1];
//получить список листов рабочей книги
ExcelSheets = WorkBook.Worksheets;
//выбрать первый лист
WorkSheet = (Excel.Worksheet)ExcelSheets.get_Item(1);
}
private void PutCell(string cell, string val)
{
//получить диапазон, соответствующий выбранной ячейке
range = WorkSheet.get_Range(cell, Type.Missing);
//занести в ячейку значение
range.Value2 = val;
}
private void PutCellBorder(string cell, string val)
{
//вызвать функцию занесения в ячейку значения
PutCell(cell, val);
//нарисовать границу вокруг ячейки
range.BorderAround(Excel.XlLineStyle.xlContinuous, Excel.XlBorderWeight.xlThin, Excel.XlColorIndex.xlColorIndexAutomatic, Type.Missing);
}
private void OpenDocument(string FileName)
{
//открываем Word
wordApp = new Word.Application();
//создаем документ на основе шаблона
Object template = Application.StartupPath + @"\docs\" + FileName;
Object newTemplate = false;
Object documentType = Word.WdNewDocumentType.wdNewBlankDocument;
Object visible = true;
//добавляем документ в список документов приложения
wordDoc = wordApp.Documents.Add(ref template, ref newTemplate, ref documentType, ref visible);
}
public void ReplaceText(string word, string repl)
{
// Смещаем выделение к началу документа
Object unit = Word.WdUnits.wdStory;
Object extend = Word.WdMovementType.wdMove;
wordApp.Selection.HomeKey(ref unit, ref extend);
//создаем объект Find для поиска текста
Word.Find fnd = wordApp.Selection.Find;
//очищаем его настройки
fnd.ClearFormatting();
//задаем текст для поиска
fnd.Text = word;
//очищаем настройки для замены
fnd.Replacement.ClearFormatting();
//задаем текст для замены
fnd.Replacement.Text = repl;
//запускаем процесс поиска и замены
ExecuteReplace(fnd);
}
private Boolean ExecuteReplace(Word.Find find)
{
return ExecuteReplace(find, Word.WdReplace.wdReplaceAll);
}
private Boolean ExecuteReplace(Word.Find find, Object replaceOption)
{
Object findText = Type.Missing;
Object matchCase = Type.Missing;
Object matchWholeWord = Type.Missing;
Object matchWildcards = Type.Missing;
Object matchSoundsLike = Type.Missing;
Object matchAllWordForms = Type.Missing;
Object forward = Type.Missing;
Object wrap = Type.Missing;
Object format = Type.Missing;
Object replaceWith = Type.Missing;
Object replace = replaceOption;
Object matchKashida = Type.Missing;
Object matchDiacritics = Type.Missing;
Object matchAlefHamza = Type.Missing;
Object matchControl = Type.Missing;
return find.Execute(ref findText, ref matchCase,
ref matchWholeWord, ref matchWildcards, ref matchSoundsLike,
ref matchAllWordForms, ref forward, ref wrap, ref format,
ref replaceWith, ref replace, ref matchKashida,
ref matchDiacritics, ref matchAlefHamza, ref matchControl);
}
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
oleDbConnection1.Close(); //закрыть соединение
}
private void UpdateLich()
{
//обновить содержимое таблиц базы данных
oleDbDataAdapter3.Update(dataSet11);
oleDbDataAdapter1.Update(dataSet11);
oleDbDataAdapter5.Update(dataSet11);
//очистить DataSet
dataSet11.Clear();
//заполнить таблицы в объекте DataSet
oleDbDataAdapter3.Fill(dataSet11.Личные_данные_автовладельца);
oleDbDataAdapter5.Fill(dataSet11.Страховые_агенства);
oleDbDataAdapter1.Fill(dataSet11.Автовладелец);
//очистить содерижмое списка фамилий
comboBox1.Items.Clear();
//заполнить список фамилий значениями из таблицы
foreach (DataRow row in dataSet11.Личные_данные_автовладельца.Rows)
comboBox1.Items.Add(row["ФИО"]);
//в списке фамилий - ни одна фамилия не выделена
comboBox1.Text = "";
}
private void UpdateStrag()
{
//обновить содержимое таблиц базы данных
oleDbDataAdapter3.Update(dataSet11);
oleDbDataAdapter1.Update(dataSet11);
oleDbDataAdapter5.Update(dataSet11);
//очистить DataSet
dataSet11.Clear();
//заполнить таблицы в объекте DataSet
oleDbDataAdapter3.Fill(dataSet11.Личные_данные_автовладельца);
oleDbDataAdapter5.Fill(dataSet11.Страховые_агенства);
oleDbDataAdapter1.Fill(dataSet11.Автовладелец);
//очистить содерижмое списка страховых агентств
comboBox2.Items.Clear();
//заполнить список фамилий значениями из таблицы
foreach (DataRow row in dataSet11.Страховые_агенства.Rows)
comboBox2.Items.Add(row["Страховое агенство"]);
//в списке агентств - ни одно агентство не выделено
comboBox2.Text = "";
}
private void UpdateAwz()
{
//обновить содержимое таблиц базы данных
oleDbDataAdapter3.Update(dataSet11);
oleDbDataAdapter1.Update(dataSet11);
oleDbDataAdapter5.Update(dataSet11);
//очистить DataSet
dataSet11.Clear();
//заполнить таблицы в объекте DataSet
oleDbDataAdapter3.Fill(dataSet11.Личные_данные_автовладельца);
oleDbDataAdapter5.Fill(dataSet11.Страховые_агенства);
oleDbDataAdapter1.Fill(dataSet11.Автовладелец);
}
private void button1_Click(object sender, EventArgs e)
{
//если текстовые поля не пусты,
if (textBox1.Text != "" && textBox2.Text != "" & textBox3.Text != "" & textBox4.Text != "")
{
//то создать новую запись в таблице Личные_данные_автовладельца,
DataRow row = dataSet11.Личные_данные_автовладельца.NewRow();
//заполнить ее столбцы
row["ФИО"] = textBox1.Text;
row["Дата рождения"] = textBox2.Text;
row["Адрес"] = textBox3.Text;
row["Телефон"] = textBox4.Text;
//и добавить запись в таблицу
dataSet11.Личные_данные_автовладельца.Rows.Add(row);
//обновить содержимое главного окна
UpdateLich();
}
}
private void button2_Click(object sender, EventArgs e)
{
//если текстовые поля не пусты,
if (textBox5.Text != "")
{
//то создать новую запись в таблице Страховые_агенства
DataRow row = dataSet11.Страховые_агенства.NewRow();
//заполнить ее столбцы
row["Страховое агенство"] = textBox5.Text;
//и добавить запись в таблицу
dataSet11.Страховые_агенства.Rows.Add(row);
//обновить содержимое главного окна
UpdateStrag();
}
}
private void button3_Click(object sender, EventArgs e)
{
//если текстовые поля не пусты,
if (textBox6.Text != "" && textBox7.Text != "" && textBox8.Text != "" && textBox9.Text != "" && textBox10.Text != "" && textBox11.Text != "" && textBox12.Text != "")
{
//то создать новую запись в таблице Автовладелец,
DataRow row = dataSet11.Автовладелец.NewRow();
//заполнить ее столбцы
row["№ водительско удостоверения"] = textBox6.Text;
row["Серия водительского удостоверения"] = textBox7.Text;
row["№ медицинской справки"] = textBox8.Text;
row["Серия медицинской справки"] = textBox8.Text;
row["№ страхового полиса"] = textBox10.Text;
row["Серия страхового полиса"] = textBox11.Text;
row["Дата оплаты техосмотра"] = textBox12.Text;
//и добавить запись в таблицу
string fio = comboBox1.SelectedItem.ToString();
// string fioq = comboBox2.SelectedItem.ToString();
//составить условие для поиска этого человека
string str = "ФИО='" + fio + "'";
//string strq = "Страховое агенство='" + fioq + "'";
//получить id этого человека в таблице Contacts
DataRow[] Личные_данные_автовладельца = dataSet11.Личные_данные_автовладельца.Select(str);
//DataRow[] Страховые_агенства = dataSet11.Страховые_агенства.Select(strq);
//заполнить столбец "ContactId" редактируемой записи
row["ФИО"] = Личные_данные_автовладельца[0]["Код личных данных автовладельца"];
//row["Кем выдан страховой полис"] = Страховые_агенства[0]["Код cтрахового агенства"];
dataSet11.Автовладелец.Rows.Add(row);
//обновить содержимое главного окна
UpdateAwz();
}
}
private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
try
{
//получить номер выделенной строки
LichId = e.RowIndex;
//отобразить фамилию и имя выбранного человека
//в текстовых полях
textBox1.Text = dataSet11.Личные_данные_автовладельца.Rows[LichId]["ФИО"].ToString();
textBox2.Text = dataSet11.Личные_данные_автовладельца.Rows[LichId]["Дата рождения"].ToString();
textBox3.Text = dataSet11.Личные_данные_автовладельца.Rows[LichId]["Адрес"].ToString();
textBox4.Text = dataSet11.Личные_данные_автовладельца.Rows[LichId]["Телефон"].ToString();
}
catch (Exception)
{
}
}
private void dataGridView2_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
try
{
//получить номер выделенной строки
StragId = e.RowIndex;
//отобразить фамилию и имя выбранного человека
//в текстовых полях
textBox5.Text = dataSet11.Страховые_агенства.Rows[StragId]["Страховое агенство"].ToString();
}
catch (Exception)
{
}
}
private void dataGridView3_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
try
{
//получить номер выделенной строки
AwzId = e.RowIndex;
//найти запись с полученным номером в DataSet
DataRow p = dataSet11.Автовладелец.Rows[AwzId];
//отобразить номер телефона найденной записи в текстовом поле
textBox6.Text = p["№ водительско удостоверения"].ToString();
textBox7.Text = p["Серия водительского удостоверения"].ToString();
textBox8.Text = p["№ медицинской справки"].ToString();
textBox9.Text = p["Серия медицинской справки"].ToString();
textBox10.Text = p["№ страхового полиса"].ToString();
textBox11.Text = p["Серия страхового полиса"].ToString();
textBox12.Text = p["Дата оплаты техосмотра"].ToString();
//получить записи из таблицы Contacts, связанные с данной
DataRow[] fams = p.GetParentRows(dataSet11.Relations["FK_Личные_данные_автовладельца_Автовладелец"]);
//выбрать фамилию человека (из текущей записи) в списке
comboBox1.SelectedItem = fams[0]["ФИО"].ToString();
DataRow[] famsq = p.GetParentRows(dataSet11.Relations["FK_Страховые_агенства_Автовладелец"]);
//выбрать фамилию человека (из текущей записи) в списке
comboBox2.SelectedItem = famsq[0]["Страховое агенство"].ToString();
}
catch (Exception)
{
}
}
private void button4_Click(object sender, EventArgs e)
{
//если выбрана строка в таблице
if (dataGridView1.SelectedRows.Count != 0)
{
//получить содержимое выбранной строки
DataRow row = dataSet11.Личные_данные_автовладельца.Rows[LichId];
//изменить фамилию и имя на введенные значения
row["ФИО"] = textBox1.Text;
row["Дата рождения"] = textBox2.Text;
row["Адрес"] = textBox3.Text;
row["Телефон"] = textBox4.Text;
//сохранить изменения и обновить содержимое формы
UpdateLich();
}
else
MessageBox.Show("Выберите строку для редактирования","Внезапно...");
}
private void button5_Click(object sender, EventArgs e)
{
//если выбрана строка в таблице
if (dataGridView2.SelectedRows.Count != 0)
{
//получить содержимое выбранной строки
DataRow row = dataSet11.Страховые_агенства.Rows[StragId];
//изменить фамилию и имя на введенные значения
row["Страховое агенство"] = textBox5.Text;
//сохранить изменения и обновить содержимое формы
UpdateStrag();
}
else
MessageBox.Show("Выберите строку для редактирования", "Внезапно...");
}
private void button6_Click(object sender, EventArgs e)
Подобные документы
Создание приложения Windows Forms в среде Microsoft Visual Studio 2008. Разработка программы "Курсовой" для организации работы по учёту курсовых работ в учебных заведениях с возможностью добавления, удаления, редактирования и поиска информации.
курсовая работа [2,2 M], добавлен 28.06.2011Общие сведения о работе программы в среде программирования Microsoft Visual Studio 2008, на языке программирования C++. Ее функциональное назначение. Инсталляция и выполнение программы. Разработанные меню и интерфейсы. Алгоритм программного обеспечения.
курсовая работа [585,5 K], добавлен 24.03.2009Разработка и освоение в современном производстве информационной подсистемы. Создание базы данных в среде MS SQL Server 2008 и приложения в среде MS Visual Studio 2012. Процесс ввода при выборе пунктов меню. Заполнение формы с критериями на фильтрацию.
отчет по практике [834,4 K], добавлен 27.11.2013Средства интегрированной среды Microsoft Visual Studio, предоставляемые программисту для реализации программ на языке С++. Особенности стиля написания программ. Типовые приемы и методы создания и отладки программ. Листинги программ и их тестирование.
лабораторная работа [814,3 K], добавлен 26.05.2013Разработка приложения с помощью среды Microsoft Visual Studio 2010 Express. Интерфейс приложения. Разработка конечного программного продукта, демонстрирующего работу многопоточного приложения, использующего взаимоисключение на основе критической секции.
лабораторная работа [300,4 K], добавлен 21.07.2012Разработка программного продукта, предназначенного для тестирования знаний пользователя по теме "Тепловые двигатели" нa языкe C++ в среде Micrоsоft Visual Studio с использовaниeм библиотeки MFC. Функциональное назначение созданного Windows-приложения.
курсовая работа [954,4 K], добавлен 25.06.2011Изучение особенностей проектирования прикладных программ с помощь средств Visual Studio 2010 на языке C#. Расчет конического соединения, конусного градиента, усилия для разрыва соединения и требуемой силы сжатия. Реализация и тестирование программы.
курсовая работа [1,7 M], добавлен 19.02.2013Техника создания графики при помощи API функций, экспортируемых библиотекой GDI32.DLL. Разработка на языке программирования С++ в среде программирования Microsoft Visual C++ программы для отображения часов реального времени в цифровом и аналоговом виде.
курсовая работа [2,8 M], добавлен 27.01.2010Разработка алгоритма и программы "Расчет стыкового паяного соединения" в среде Microsoft Visual Studio для облегчения расчётов сварных швов. Создание главной формы приложения и его кодирование для расчёта углового шва. Тестирование программы на ошибки.
курсовая работа [1,5 M], добавлен 06.02.2013Объектно-ориентированная технология создания программ. Среда разработки Visual Studio.NET. Особенности среды Microsoft Visual Studio 2010. Приложения C# для расчетов по формулам, консольный ввод-вывод. Форматирование значений данных. Программы с циклами.
методичка [2,1 M], добавлен 11.09.2014