Система заказа железнодорожных билетов

Изучение методов разработки приложений в среде визуального программирования Visual Studio. Создание программы, реализующей заказ железнодорожных билетов. Язык SQL-запросов в системе управления базами данных MS Access. Тестирование созданной программы.

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

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

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

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

КАЗАНСКИЙ НАУЧНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ

ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМ. А. Н. ТУПОЛЕВА - КАИ

Отделение среднего профессионального образования

Института компьютерных технологий и защиты информации

«Колледж информационных технологий»

Курсовая работа

по дисциплине «Прикладное программирование»

На тему «Система заказа железнодорожных билетов»

Выполнил: В. В. Абдуллаев

Преподаватель М. А. Котов

Казань 2015

Содержание

Введение

1. Теоретическая часть

1.1 Общие сведения о базах данных

1.2 Общие сведения о СУБД MS Access

1.3 Язык SQL-запросов в СУБД MS Access

1.4 Функциональное назначение программы

2. Практическая часть

2.1 Создание базы данных

2.2 Создание программы

2.3 Испытание программы

Заключение

Список литературы

Приложение

Введение

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

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

Целью данной курсовой работы является получение практических навыков разработки программ в среде визуального программирования Visual Studio 2010 на языке C# путем создания программы, реализующей заказ железнодорожных билетов.

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

Задачи работы

· Изучение методов разработки приложений, управляющих БД в среде Visual C# 2010;

· Построение алгоритма решения задачи;

· Осуществление реализации этого алгоритма и тестирование созданной программы (с предварительным созданием самой БД).

1. Теоретическая часть

1.1 Общие сведения о базах данных

База данных -- организованная совокупность данных, предназначенная для длительного хранения во внешней памяти ЭВМ, регулярного обновления и использования.

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

Предметной областью называется часть реальной системы, представляющая интерес для определенного исследования. Различать полную предметную область (предприятие) и организационную единицу этой предметной области (отделы).

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

Реляционные БД (РБД) -- наиболее распространенный тип БД, использующий табличное представление данных.

Основные понятия организации данных в РБД: таблица, запись, поле, тип поля, главный ключ таблицы.

СУБД (система управления базами данных) -- программное обеспечение для работы с базами данных.

1.2 Общие сведения о СУБД MS Access

MS Access - это программа, с помощью которой можно быстро и довольно просто создавать базы данных, заполнять их и работать с ними. Access является СУБД реляционного типа, в которой реализованы все средства и возможности современных СУБД. Реляционная база упрощает поиск, анализ, поддержку и защиту данных, поскольку они сохраняются в одном файле. Access в переводе с английского означает «доступ». MS Access -- это функционально полная реляционная СУБД, одна из самых мощных, гибких и простых в использовании. В ней можно решить большинство задач, не написав ни единой строки программы, но если нужно создать нечто очень сложное, то на этот случай MS Access предоставляет мощный язык программирования -- Visual Basic for Application. Access входит в состав пакета Microsoft Office.

Популярность СУБД Microsoft Access обусловлена следующими причинами:

- доступность в изучении и понятность;

- СУБД полностью русифицирована;

- возможность использования OLE технологии;

- интегрированность с пакетами Microsoft Office;

- поддержка web - технологий;

- удобная работа с конструкторами форм, таблиц, отчетов, страниц;

- широко и наглядно представлена справочная система;

- наличие большого набора «мастеров» по разработке объектов.

Таблицы - это основные и самые необходимые объекты любой БД, предназначены только для хранения данных. Access может содержать целый набор взаимосвязанных таблиц.

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

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

Отчеты - это объекты для вывода данных на принтер или другое устройство вывода в удобном и наглядном виде. Например, в виде бланка или счета.

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

Модули - это программы созданные средствами языка Visual Basic. Позволяющие дополнить стандартные средства Access, если уже имеющихся не хватает для реализации всех требований к работе СУБД. Программист может расширить возможности системы, дописав необходимые модули и добавив их в БД.

Все данные в реляционной БД представлены в виде таблиц. Таблица - это основной объект любой базы данных, поэтому создание любой БД начинается с создания таблиц. Каждая строка таблицы содержит информацию только об одном объекте и называется записью. Столбец таблицы содержит однотипную для всех записей информацию и называется полем. Поля образуют структуру базы данных, а записи составляют информацию, которая в ней содержится.

Поля обладают определенными свойствами, от которых зависит какие данные можно в него вносить и какие операции можно выполнять. Самым главным и уникальным свойством любого поля является его Имя. Имя поля не может содержать знаки «.» и «!». Имя - это внутренняя информация базы данных, не видимая для использующего уже готовую базу. Пользователь видит Подпись. Подпись - это то, что отображается в заголовке поля. Разным полям, например, можно задать одинаковые подписи. Это вполне возможно и не вызовет ошибки, поскольку поля при этом по-прежнему сохраняют свои отличные друг от друга имена. Если подпись не указана, то в заголовок просто дублируется Имя поля. Каждому полю задается определенный тип данных в зависимости от информации, которая в нем хранится.

Типы данных MS Access:

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

- Поле МЕМО - длинный текст, например, примечания или описания. Сохраняет до 65 535 знаков.

- Числовой - данные, используемые для математических вычислений. Конкретный тип числового поля определяется значением свойства Размер поля (байт - 1б., целое - 2б., длинное целое - 4б., одинарное с плавающей точкой - 4б., двойное с плавающей точкой - 8б.).

- Дата/время - значения дат и времени. Сохраняет 8 байтов.

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

- Счетчик - автоматическая нумерация. Сохраняет 4 байта.

- Логический - данные, принимающие только одно из двух возможных значений, таких как «Да/Нет», «Истина/Ложь», «Вкл/Выкл». Значения Null не допускаются. Сохраняет 1 бит.

- Поле объекта OLE - внешние объекты (документы Word, электронные таблицы Excel, рисунки, звукозапись или другие данные), созданные в других программах, использующих протокол OLE. Сохраняет до 1 Гигабайта.

- Гиперссылка - может иметь вид адреса сайта Интернет или электронной почты и путь к файлу. Сохраняет до 64 000 знаков.

- Мастер подстановок - создает поле с выпадающим списком. При выборе данного параметра в списке типов данных запускается мастер для автоматического определения этого поля.

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

Верхняя панель окна базы данных.

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

1.3 Язык SQL-запросов в СУБД MS Access

визуальный программирование билет база

Запрос SQL -- это запрос, создаваемый при помощи инструкций SQL. Структурированный язык запросов (Structured Query Language) - это язык запросов, ориентированный специально на реляционные базы данных. SQL был разработан в 70-е годы фирмой IBM и стандартизован ANSI (American National Standards Institute). Поэтому его часто также называют ANSI-SQL. Одно из достоинств SQL - его широкое распространение. При этом следует помнить, что на различных СУБД диалект SQL может отличаться от стандарта (ANSI SQL89 и ANSI SQL92). Диалект SQL, используемый в MS Access, называется Jet SQL.

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

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

UPDATE - служит для редактирования записей (одной или нескольких). Пользователь указывает названия полей таблиц и их новые значения. DELETE - инструкция, полностью удаляющая из базы данных все указанные записи (а не только значения отдельных полей).

CREATE - позволяет создавать новые объекты базы данных.

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

В языке запросов, реализованном в Microsoft Access, поддерживаются четыре дополнительных расширения: TRANSFORM (позволяет строить перекрестные запросы), IN (создание связи с удаленной базой данных), DISTINCTROW (определение запроса-объединения с потенциальной возможностью объединения данных), WITH OWNER-ACCESS OPTION (позволяет создавать специализированные запросы, которые может выполнять пользователь, не имеющий права доступа к таблицам, которыми оперирует данный запрос). Кроме того, в качестве функции могут применяться встроенные функции MS Access и встроенного языка VBA.

Пример SQL-запроса: SELECT * FROM Table1 WHERE Город LIKE 'Казань' (выбрать все из таблицы Table1 со столбца «Город», что содержит `Казань').

1.4 Функциональное назначение программы

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

2. Практическая часть

2.1 Создание базы данных

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

Работать будем в системе управления базами данных (далее - СУБД) Microsoft Access. Создаем БД, которую назовем ZHD.mdb. Создаем 2 таблицы с помощью конструктора: первую называем «Рейсы», вторую - «Заказы». В таблице «Рейсы» создаем поля: №, Отправление, Назначение, Время отправления, Время прибытия, Купе цена, Плац цена, Код. Поле «№» - счетчик (ключевое поле), поля «Время отправления» и «Время прибытия» - это дата (полная), поля «Купе цена» и «Плац цена» - денежные, все остальное - текст (рис. 1). Переходим в режим таблицы и заполняем ее, как на рис. 2. Таблицу «Заказы» пока только создаем, но не заполняем. Поля: ФИО, Паспорт, Код, Рейс, Время отправления, Время прибытия, Вагон, Цена. Все, кроме поля «№» (счетчик) - текст (рис. 3). Сохраняем.

Понятное дело, что железнодорожных рейсов, особенно внутрироссийских - бесчисленное множество. Всех их, естественно, вписывать не будем, да и не сможем. Цель работы - вовсе не это. Для создаваемой программы хватит и десяти. Как сохраним БД, работа с СУБД на этом закончена. Переходим непосредственно к разработке программы.

Рис. 1. Создание таблицы «Рейсы» БД кассы в конструкторе.

Рис. 2. Заполнение таблицы «Рейсы» данными.

Рис. 3. Создание таблицы «Заказы» в конструкторе.

2.2 Создание программы

Теперь нужно разработать программу, которая будет работать с созданными БД.

Для этого понадобится система разработки программ Microsoft Visual C# 2010, которая входит в пакет Microsoft Visual Studio 2010.

В создаваемой программе будет 1 форма, содержащая 2 вкладки: «Рейсы» и «Заказы». Понятно, что во вкладке «Рейсы» будет информация о доступных на данный момент рейсах, а во вкладке «Заказы» - о заказах.

Приступим к созданию проекта. Назовем его ZHD_kassa. Добавим в форму элемент tabControl. В свойствах элемента переименовываем первую вкладку в «Рейсы», вторую - в «Заказы». В обе вкладки добавляем по элементам dataGridView и bindingNavigator (управление таблицей). Элементы dataGridView привязываем к тем таблицам, которые соответствуют вкладкам, в которых они находятся: «Рейсы» и «Заказы». Элементы bindingNavigator в этих же вкладках привязываем к элементам рейсы BindingSource и заказы BindingSource соответственно. В обоих элементах bindingNavigator добавляем по 2 новые кнопки: «Сохранить» и «Показать все». После - делаем так, чтобы при нажатии этих кнопок выполнялись нужные нам действия. Подробное описание - в исходном коде программы.

При желании можно и поменять иконки (значки), что и было сделано в этой работе («Сохранить» - дискета, «Показать все» - окно).

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

Во вкладку «Рейсы» добавляем 9 элементов textBox, 1 элемент comboBox (состоящий из значений «плац» и «купе», по умолчанию поставим «плац»), 2 элемента dateTimePicker (в обоих меняем свойства: CustomFormat “dd.MM.yyyy HH:mm”, Format “Custom”), 3 элемента button («Оформить заказ», «Поиск», «Добавить») и 11 элементов label (заголовки 11 из всех вышеперечисленных элементов: «ФИО», «серия, № паспорта», «пункт отправления» - 2 шт., «пункт назначения» - 2 шт., «время отправления», «время прибытия», «купе цена», «плац цена», «код рейса»). Все располагаем примерно в таком порядке (рис. 4).

Рис. 4. Вкладка «Рейсы».

После этого задаем определенные задачи, которые должны выполнять некоторые из этих элементов. Подробно - в прил. 1.

Переходим во вкладку «Заказы». Здесь все проще - добавляем всего 5 элементов - 2 элемента label («значение» и «место поиска»), 1 элемент textBox, 1 элемент comboBox (значения: «ФИО» - по умолчанию, «Паспорт», «Код», «Рейс» и «Цена») и 1 элемент button («Поиск»). Реализуем поиск по категориям.

Должно получиться примерно так, как на рис. 5.

Рис. 5. Вкладка «Заказы».

2.3 Испытание программы

Проверим программу. Общий скриншот программы - на рис. 6.

Рис. 6. Программа в действии.

Попробуем поискать среди рейсов нужное направление. Введем пункт отправления - Москва, пункт назначения - Казань и кликнем кнопку «Поиск». Результат - на рис. 7.

Рис. 7. Поиск нужного рейса.

Вернем все в таблицу, щелкнув «Показать все». Попробуем добавить новый рейс: пункт отправления - Москва, пункт назначения - Казань, цена купе - 3300, цена плаца - 2200, время отправления - 03.05.2015 12:00, время прибытия, 04.05.2015 00:00, код рейса - любые цифры и буква, например 121Л (можно было сделать так, чтобы код рейса генерировался случайным образом, но, опять же, это не является сутью данной работы). Нажимаем «Добавить». Программа выведет на экран сообщение о добавлении рейса. Таблица обновится. Сохраняем таблицу. Результат - на рис. 8.

Рис. 8. Добавление рейса.

Попробуем оформить заказ. Выберем рейс 462Н (10) Н.Новгород - С.-Петербург, выберем вагон «купе». Заполним ФИО (например, «Иванов И.И.»), а также серию и номер паспорта (1234 123456). Нажимаем на «Оформить заказ». Программа выводит сообщение об оформлении заказа с подробной информацией о нем (рис. 9). Заходим во вкладку «Заказы» и нажатием на «Показать все» обновляем таблицу. Сохраняем ее. Результат можно видеть на рис. 10.

Рис. 9. Оформление заказа.

Рис. 10. Результат оформления заказа.

Рейсы можно как добавлять, так и удалять. Снова перейдем на «Рейсы» и удалим введенный недавно нами рейс 121Л Москва-Казань, нажав на красный крестик на панели задач таблицы. Сохраним ее и обновим. Результат на рис. 11.

Рис. 11. Результат удаления 11 строки (рейс 121Л).

Теперь проверим «Заказы». Добавим еще 2 заказа: от имени Петрова П.П. - рейс 120А (2) С.-Петербург-Уфа (купе) и от имени Сидорова В.В. - рейс 098Т Москва-Волгоград (плац). Перейдем на «Заказы». Все обновляем и сохраняем. Результат должен быть как на рис. 12.

Рис. 12. Добавление новых заказов.

Попробуем поискать заказ по ФИО. Введем Иванов И.И. Результат - на рис. 13.

Рис. 13. Поиск по ФИО.

Поменяем область поиска на «Паспорт» и введем серию и номер паспорта, например 1234 123455. Результат - на рис. 14.

Рис. 14. Поиск по паспорту.

Введем код рейса 098Т. Результат - на рис. 15.

Рис. 15. Поиск по коду рейса.

Поиск по остальным областям работает по такому же принципу.

Заключение

В ходе выполнения курсовой работы были получены и закреплены навыки программирования в среде Visual C# 2010.

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

Список литературы

1. C# [Электронный ресурс] // Википедия - свободная энциклопедия. URL: https://ru.wikipedia.org/wiki/C_Sharp (дата обращения: 07.04.2015)

2. Основные понятия баз данных [Электронный ресурс] // ХВАТИТ.com. URL: http://school.xvatit.com/index.php?title=Основные_понятия_баз_данных (дата обращения: 07.04.2015)

3. Общие сведения о СУБД MS Access. Основные объекты MS Access. Примеры [Электронный ресурс] // Отрадное-2. URL: http://otradnoe-2.narod.ru/kurs/lessons/modul_2_2.htm (дата обращения: 07.04.2015)

4. Запросы MS Access [Электронный ресурс] // ТСТУ. URL: http://www.gaps.tstu.ru/win-1251/lab/sreda/saoi/lect_g6.html (дата обращения: 08.04.2015)

5. Visual C# [Электронный ресурс] // MSDN. URL: https://msdn.microsoft.com/ru-ru/library/vstudio/kx37x362(v=vs.110).aspx (дата обращения: 08.04.2015)

6. Информатика и ИКТ. Базовый уровень. Практикум для 10-11 классов. Семакин И.Г., Хеннер Е.К., Шеина Т.Ю. [Электронный ресурс] // Образовательные ресурсы Интернета. URL: http://www.alleng.ru/d/comp/comp194.htm (дата обращения: 09.04.2015)

7. Официальный сайт поддержки Microsoft Office [Электронный ресурс] // Microsoft. URL: http://office.microsoft.com/ru-ru/ (дата обращения: 09.04.2015)

Приложение. Листинг программы

Form1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.OleDb;

namespace ZHD_kassa

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "zHDDataSet.Заказы". При необходимости она может быть перемещена или удалена.

this.заказыTableAdapter.Fill(this.zHDDataSet.Заказы);

// TODO: данная строка кода позволяет загрузить данные в таблицу "zHDDataSet.Рейсы". При необходимости она может быть перемещена или удалена.

this.рейсыTableAdapter.Fill(this.zHDDataSet.Рейсы);

}

private void toolStripButton2_Click(object sender, EventArgs e)

{

try

{

this.заказыTableAdapter.Update(this.zHDDataSet.Заказы);

MessageBox.Show("Сохранено");

this.заказыTableAdapter.Fill(this.zHDDataSet.Заказы);

}

catch (Exception)

{

MessageBox.Show("Ошибка");

}

}

private void toolStripButton1_Click(object sender, EventArgs e)

{

try

{

this.рейсыTableAdapter.Update(this.zHDDataSet.Рейсы);

MessageBox.Show("Сохранено");

this.рейсыTableAdapter.Fill(this.zHDDataSet.Рейсы);

}

catch (Exception)

{

MessageBox.Show("Ошибка");

}

}

private void button1_Click(object sender, EventArgs e)

{

if ((textBox1.Text == "") || (textBox2.Text == ""))

{

MessageBox.Show("Введите пункт отправления и пункт назначения");

}

else

{

string cmd = "SELECT * FROM Рейсы WHERE ((Отправление LIKE '" + textBox1.Text + "') AND (Назначение LIKE '" + textBox2.Text + "'))";

string con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\ZHD.mdb";

OleDbConnection conn = new OleDbConnection(con);

OleDbDataAdapter da = new OleDbDataAdapter(cmd, conn);

DataTable dt = new DataTable();

conn.Open();

dt.Clear();

da.Fill(dt);

dataGridView1.DataSource = dt;

conn.Close();

}

}

private void button2_Click(object sender, EventArgs e)

{

if (textBox3.Text == "")

{

MessageBox.Show("Введите значение");

else

{

string cmd = "SELECT * FROM Заказы WHERE (" + comboBox1.Text + " LIKE '" + textBox3.Text + "')";

string con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\ZHD.mdb";

OleDbConnection conn = new OleDbConnection(con);

OleDbDataAdapter da = new OleDbDataAdapter(cmd, conn);

DataTable dt = new DataTable();

conn.Open();

dt.Clear();

da.Fill(dt);

dataGridView2.DataSource = dt;

conn.Close();

}

}

private void toolStripButton4_Click(object sender, EventArgs e)

{

string cmd = "SELECT * FROM Рейсы";

string con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\ZHD.mdb";

OleDbConnection conn = new OleDbConnection(con);

OleDbDataAdapter da = new OleDbDataAdapter(cmd, conn);

DataTable dt = new DataTable();

conn.Open();

dt.Clear();

da.Fill(dt);

dataGridView1.DataSource = dt;

conn.Close();

}

private void toolStripButton3_Click(object sender, EventArgs e)

{

string cmd = "SELECT * FROM Заказы";

string con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\ZHD.mdb";

OleDbConnection conn = new OleDbConnection(con);

OleDbDataAdapter da = new OleDbDataAdapter(cmd, conn);

DataTable dt = new DataTable();

conn.Open();

dt.Clear();

da.Fill(dt);

dataGridView2.DataSource = dt;

conn.Close();

}

private void button3_Click(object sender, EventArgs e)

{

try

{

string cen = "";

string fio = textBox5.Text;

string pasp = textBox6.Text;

string kodr = dataGridView1[7, dataGridView1.CurrentRow.Index].Value.ToString();

string reys = dataGridView1[1, dataGridView1.CurrentRow.Index].Value.ToString() + "-" + dataGridView1[2, dataGridView1.CurrentRow.Index].Value.ToString();

string data_o = dataGridView1[3, dataGridView1.CurrentRow.Index].Value.ToString();

string data_p = dataGridView1[4, dataGridView1.CurrentRow.Index].Value.ToString();

string vag = comboBox2.Text;

if (comboBox2.Text == "плац") { cen = dataGridView1[6, dataGridView1.CurrentRow.Index].Value.ToString(); }

if (comboBox2.Text == "купе") { cen = dataGridView1[5, dataGridView1.CurrentRow.Index].Value.ToString(); }

if ((textBox5.Text == "") || (textBox6.Text == ""))

{

MessageBox.Show("Введите ФИО и номер паспорта");

}

else

{

string cmd = "INSERT INTO Заказы (ФИО, Паспорт, Код, Рейс, [Время отправления], [Время прибытия], Вагон, Цена) VALUES ('" + fio + "', '" + pasp + "', '" + kodr + "', '" + reys + "', '" + data_o + "', '" + data_p + "', '" + vag + "', '" + cen + "')";

string con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\ZHD.mdb";

OleDbConnection conn = new OleDbConnection(con);

OleDbDataAdapter da = new OleDbDataAdapter(cmd, conn);

DataTable dt = new DataTable();

conn.Open();

dt.Clear();

da.Fill(dt);

dataGridView2.DataSource = dt;

conn.Close();

MessageBox.Show(fio + "\nПаспорт: " + pasp + "\nРейс " + kodr + ": " + reys + ", отправление " + data_o + ", прибытие " + data_p + ", " + vag + ", цена: " + cen + "р. \n\nЗаказ оформлен. Для просмотра перейдите в Заказы");

//this.заказыTableAdapter.Update(this.zHDDataSet.Заказы);

}

}

catch (Exception)

{

MessageBox.Show("Ошибка");

}

}

private void button4_Click(object sender, EventArgs e)

{

string cen_k1 = textBox8.Text;

string cen_p1 = textBox9.Text;

string m_o1 = textBox4.Text;

string m_p1 = textBox7.Text;

string kodr1 = textBox10.Text;

string data_o1 = dateTimePicker1.Value.ToString();

string data_p1 = dateTimePicker2.Value.ToString();

if ((textBox4.Text == "") || (textBox7.Text == "") || ((textBox8.Text == "") && (textBox9.Text == "")))

{

MessageBox.Show("Заполните пункты отправления и назначения, даты отправления и прибытия, а также цены");

}

else

{

string cmd = "INSERT INTO Рейсы (Отправление, Назначение, [Время отправления], [Время прибытия], [Купе цена], [Плац цена], Код) VALUES ('" + m_o1 + "', '" + m_p1 + "', '" + data_o1 + "', '" + data_p1 + "', '" + cen_k1 + "', '" + cen_p1 + "', '" + kodr1 + "')";

string con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\ZHD.mdb";

OleDbConnection conn = new OleDbConnection(con);

OleDbDataAdapter da = new OleDbDataAdapter(cmd, conn);

DataTable dt = new DataTable();

conn.Open();

dt.Clear();

da.Fill(dt);

dataGridView1.DataSource = dt;

conn.Close();

MessageBox.Show("Рейс добавлен");

//this.рейсыTableAdapter.Fill(this.zHDDataSet.Рейсы);

cmd = "SELECT * FROM Рейсы";

con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\ZHD.mdb";

conn = new OleDbConnection(con);

da = new OleDbDataAdapter(cmd, conn);

dt = new DataTable();

conn.Open();

dt.Clear();

da.Fill(dt);

dataGridView1.DataSource = dt;

conn.Close();

}

}

}

}

Размещено на Allbest.ru


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

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

    лабораторная работа [1,1 M], добавлен 10.12.2014

  • Создание программы, реализующей игру "Линии". Среда разработки программы, описание ее общего вида. Основные алгоритмы программы. Реализация программы в среде разработки Microsoft Visual Studio 2008 на языке объектно-ориентированного программирования С++.

    курсовая работа [639,0 K], добавлен 16.03.2012

  • Системы визуального объектно-ориентированного программирования. Среда разработки Delphi. Microsoft Access как система управления базами данных реляционного типа. Структурированный язык запросов SQL. Программирование базы данных Библиотечного фонда.

    курсовая работа [2,5 M], добавлен 08.01.2012

  • Изучение принципов построения линейных алгоритмов и простых расчетных программ на языке программирования C. Разработка программы расчета математических выражений на основе вводимых данных. Создание консольных приложений в среде Microsoft Visual Studio.

    лабораторная работа [254,4 K], добавлен 23.11.2014

  • Разработка игры "Угадай персонажа", ее суть и содержание. Запоминание новых персонажей и вопросов, коррекция базы данных. Использование языка программирования С++ и среды разработки Microsoft Visual Studio 2010. Алгоритмы и методы, структура программы.

    курсовая работа [571,9 K], добавлен 14.07.2012

  • Исследование теоретических аспектов разработки программы посредством использования Visual Basic. Анализ достоинств и недостатков данного языка программирования. Изучение особенностей создания интерфейса приложения. Основные этапы реализации программы.

    практическая работа [460,6 K], добавлен 22.01.2013

  • Рассмотрение основ работы в Microsoft Visual Studio 2010 с языком программирования С#. Реализация программы обработки данных авиапассажиров. Выбор метода ввода данных из текстового файла. Создание фильтра для обработки списка по определенным критериям.

    курсовая работа [1,4 M], добавлен 17.01.2016

  • Общие сведения о работе программы в среде программирования Microsoft Visual Studio 2008, на языке программирования C++. Ее функциональное назначение. Инсталляция и выполнение программы. Разработанные меню и интерфейсы. Алгоритм программного обеспечения.

    курсовая работа [585,5 K], добавлен 24.03.2009

  • Создание программного обеспечения для автоматизации процесса администрирования сеансов кинотеатра и продажи билетов. Разработка приложений базы данных по учету управления продажи билетов в кинотеатре средствами Microsoft Access. Программный листинг.

    курсовая работа [572,9 K], добавлен 15.04.2014

  • Рассмотрение интерактивной реляционной системы управления базами данных Microsoft Access. Графические возможности программы; создание таблиц, запросов, формуляров, отчетов, макросов и модулей. Сравнительная характеристика баз данных Clipper и Access.

    курсовая работа [1,1 M], добавлен 22.01.2013

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