Система заказа железнодорожных билетов
Изучение методов разработки приложений в среде визуального программирования 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