Проектирование информационной системы товарооборота кирпичного завода
Создание информационной системы товарооборота на основе использования технологий баз данных кирпичного завода. Физическая модель базы данных. Проектирование БД в СУБД Microsoft SQL Server. Схема функциональной структуры программной системы. Запросы к БД.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 05.03.2015 |
Размер файла | 3,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Министерство образования и науки Российской Федерации
ФГБОУ ВПО Кубанский государственный технологический университет
(КубГТУ)
Институт компьютерных систем и информационной безопасности
Кафедра информационных систем и программирования
КУРСОВОЙ ПРОЕКТ
по дисциплине: «Базы данных»
на тему «Проектирование информационной системы товарооборота кирпичного завода»
Выполнил студент группы
11-КБ-ПИ-1
Майола Мавакала Кристиан
Руководитель проекта
Янаева М.В
Нормоконтроллер
Янаева М.В
Члены комиссии
Мурлин А.Г
Краснодар 2014
Реферат
Цель: создание информационной системы товарооборота на основе использования технологий баз данных в кирпичном заводе.
В результате выполнения курсового проекта разработана система, позволяющая автоматизировать товарооборот кирпичного завода. Информационная система ведет полное сопровождение документооборота о произведениях ,о заказах произведения для клиентов, а так же информации о клиентах.
Система разрабатывалась на языке программирования С# в среде Visual Studio 2010 с использованием Microsoft SQL 2008 в качестве СУБД.
Введение
Как свидетельствует мировой опыт, экономический рост государства существенно связан с развитием и использованием в экономике современных средств и технологий автоматизации. Успешное ведение бизнеса сегодня практически невозможно без использования современных информационных систем. В наиболее развитых странах именно сектор высоких технологий обеспечивает их процветание и богатство.
Требуется создание информационной системы, использование которой будет способствовать повышению эффективности работы компании и обеспечивать ведение учета в единой системе.
Информационная система - это взаимосвязанная совокупность информационных, технических, программных, математических, организационных, правовых, эргономических, лингвистических, технологических и других средств, а также персонала, предназначенная для сбора, обработки, хранения и выдачи экономической информации и принятия управленческих решений.
В данном курсовом проекте была разработаны приложение в visual С# и база данных в СУБД Microsoft SQL Server 2008 для автоматизации процесса кирпичного завода. Программа, работающая с БД, позволяет оформлять заявки и дает возможность сформировать отчеты по различным заказам. Так же программа позволяет просматривать и изменять информацию о клиентах и их заказов кирпичного завода.
1. НОРМАТИВНЫЕ ССЫЛКИ
В данной пояснительной записке использованы ссылки на следующие стандарты:
ГОСТ 19.101-77 ЕСПД Виды программ и программных документов.
ГОСТ 19.103-77 ЕСПД Обозначение программ и программных документов.
ГОСТ 19.105-78 ЕСПД Общие требования к программным документам.
ГОСТ 19.202-78 ЕСПД Спецификация. Требования к содержанию и
ГОСТ Р 1.5-2002. Стандарты национальные РФ. Правила построения, изложения, оформления и обозначения
ГОСТ 2.301-68 ЕСКД. Форматы
ГОСТ Р 7.0.5-2008 СИЬИД. Библиографическая ссылка. Общие требования и правила составления
ГОСТ 7.12-93 СИБИД. Библиографическая запись. Сокращения слов на русском языке. Общие требования и правила
ГОСТ 7.9-95 СИБИД. Реферат и аннотация. Общие требования
ГОСТ 7.82-2001 СИБИД. Библиографическая запись. Библиографическое описание электронных ресурсов. Общие требования и правила составления
2. Описание предметной области
2.1 Общее описание предметной области
Эффективное функционирование современного предприятия невозможно без применения информационных систем. Данная проблема актуальна как для крупных предприятий, так и для предприятий среднего и даже малого бизнеса. Информационные системы имеют ряд существенных отличий от стандартных прикладных программ. В зависимости от предметной области информационные системы могут сильно различаться по своей архитектуре и функциям. . Целью любой информационной системы является обработка данных об объектах реального мира с учётом связей между объектами.
Информационная система торговой розничной сети супермаркетов нужна для автоматизации работы сети супермаркетов. Данная ИС хранит информацию о товарах, отделах и сотрудниках во внешней базе данных, по запросу пользователя формирует отчеты, сохраняемые в MS Excel для последующего вывода на печать.
2.2 Описание входных документов и сообщений
При разработке базы данных «Товарооборот» было проведено обследование предметной области. В результате в БД используются следующие входные данные:
- информация о производствах: коды произведении, наименования, количества , даты;
- информация о продажах: коды продаж, наименование, цена;
- информация о заказах: коды заказов, коды произведении которые заказали, коды доставки, сумма, даты;
- информация о клиентах: коды клиентов, код их заказов, имено клиентов, телефоны их, адресы;
- информация о доставках: коды доставок, коды клиентов, коды произведении, выполнения;
2.3 Описание выходных документов и сообщений
Выходными данными являются выходные запросы, формы и отчеты. Информация выводится на отчёты, сохраняемые в MS Excel. В данном курсовом проекте представлены три вида отчётов:
- Отчёт по заказам, выдающий информацию о заказах и о клиенты которые сделали заказы супермаркете и его отделах.
2.4 Список ограничений
Данная информационная система может работать только в платформе .NETFramework. Также в информационной системе «Товарооборот кирпичного завода» есть ограничения по связям в таблицах. Можно добавить, изменить и удалить информации во всех таблицах.
база данные товарооборот запрос
3. Концептуальная модель базы данных
3.1 Описание сущностей
В качестве сущностей выступают таблицы, в качестве атрибутов - колонки таблицы.
Атрибуты сущности «производства» - «код произведения», «наименование», «количество», «дата».
Атрибуты сущности «продажи» - «код продажи», «код произведения», «Наименование», «цена».
Атрибуты сущности «заказы» - «код заказа», «код произведения», «количество», «сумма».
Атрибуты сущности «клиенты» - «код клиента», «код заказа», «имя клиента», «телефон», «адрес».
Атрибуты сущность «доставки» - «код доставки», «код клиента», «код произведения», «выполнение».
3.2 Физическая модель базы данных
Физическая модель баз данных определяет способы размещения данных в среде хранения и способы доступа к этим данным, которые поддерживаются на физическом уровне (Рисунок 1).
Рисунок 1 - Физическая модель базы данных
3.3 Выбор СУБД
В данной ИС используется СУБД Microsoft Sql Server 2012. Microsoft SQL Server -- система управления реляционными базами данных (СУРБД), разработанная корпорацией Microsoft. Основной используемый язык запросов -- Transact-SQL, создан совместно Microsoft и Sybase. Microsoft SQL Server 2012 - это надежная, эффективная и интеллектуальная платформа управления данными, готовая к работе в самых ответственных и требовательных бизнес-приложениях, помогающая сократить затраты на обслуживание существующих систем и разработку новых приложений.
Особое внимание в Microsoft SQL Server уделено вопросам безопасности. В СУБД реализована поддержка современных криптоалгоритмов. В редакцию SQL Server 2008 были добавлены средства шифрования данных.
Эта СУБД подходит нам благодаря тому, что распространяется бесплатно и способна максимально реализовать создание БД.
Система SQL Server 2012 позволяет обращаться к данным из любого приложения, разработанного с применением технологий Microsoft .NET и Visual Studio, а также в пределах сервисно-ориентированной архитектуры и бизнес-процессов -- через Microsoft BizTalk Server. Сотрудники, отвечающие за сбор и анализ информации, могут работать с данными, не покидая привычных приложений, которыми они пользуются каждый день, например приложений выпуска 2007 системы Microsoft Office. SQL Server 2012 позволяет создать надежную, производительную, интеллектуальную платформу, отвечающую всем требованиям по работе с данными.
Техническое обслуживание SQL Server очень простое и не требует больших знаний. Возможны изменения в структуре данных, а также резервное копирование во время работы сервера, без остановки.
3.4 Проектирование БД в СУБД Microsoft SQL Server
Проектирование баз данных требует понимания процессов, которые нужно моделировать. Оно также требует понимания основ и функций баз данных, которые нужно использовать для представления этих деловых процессов. Убедитесь, что база данных спроектирована аккуратно для отображения бизнес-процессов, так как значительные изменения структуры базы данных после ее реализации могут занять много времени. Хорошо спроектированная база данных также обеспечивает высокую производительность.
В СУБД SQL Server Compact Edition создаем базу данных.
Для этого выбираем пункт меню "Файл" > "Создать базу данных" (см. рисунок 2).
Рисунок 2 - Создание базы данных
Во вкладке «Файл базы данных» выбираем пункт «Новая база данных» (см. рисунок 3).
Рисунок 3 - Выбор базы данных
В окне "Создание новой базы данных" можно определить новое имя файла базы данных (кнопка "Обзор"), и указать свойства шифрования, если это необходимо (см. рисунок 4).
Рисунок 4 - Создание новой базы данных
Выбираем каталог, в котором будет создана база данных (см. рисунок 5).
Рисунок 5 - Выбор каталога базы данных
Если необходимо, задаем новое имя базы данных и переходим к следующему этапу (кнопка "Ок") (см. рисунок 6).
Рисунок 6 -Задаем новое имя базы данных
Выполняем соединение с сервером (в разделе "файл базы данных" должна быть указана созданная вами база данных) (см. рисунок 7).
Рисунок 7 - Соединение с сервером
В обозревателе объектов в каталоге "таблицы" из контекстного меню выбираем команду "создать новую таблицу" (см. рисунок 8).
Рисунок 8 - Создание таблиц
В появившемся окне даем имя таблице базы данных и определяем основные ее столбцы с указание всех их параметров (см. рисунок 9).
Рисунок 9 - Заполнение таблиц
Для того, чтобы заполнить созданные вами Таблицы, нужно создать запрос.(см. рисунок 10).
Рисунок 10 - Кнопка создания запроса
Данный запрос добавляет данные в таблицу. INSERT INTO - название запроса, дальше перечисляем созданные вами раннее столбцы, и следующим шагом мы пишем данные, которые вы хотели бы видеть в своей таблице (см. рисунок 11).
Рисунок 11 - Запрос на добавление
Для того чтобы проверить добавлены данные или нет. Мы опять создаем запрос и прописываем данный запрос (см. рисунок 12).
Рисунок 12 - Просмотр добавленных данных в таблицы
3.5 ER-диаграмма
ER -модель - модель данных, позволяющая описывать концептуальные схемы предметной области (Рисунок 13).
Рисунок 13 - ER-диаграмма БД
3.6 Описание структуры запросов к базе данных
Вставка нового значения в таблицу выглядит следующим образом: INSERT INTO <имя таблицы> VALUES (<значение>, <значение>). Изменение записи в таблице: UPDATE [<Имя таблицы>] SET [<Имя столбца>]=<значение>[WHERE<Опция>]. Удаление записи в таблице: DELETE FROM [<Имя таблицы>] WHERE [<Условия>].Выборка всех записей таблицы: SELECT* FROM <имя таблицы>. Выборка записей таблицы по условию: SELECT <Имя столбца>FROM<Имя таблицы>WHERE[<Условия>].
4. Реализация приложения
4.1 Выбор среды программирования
Для разработки данной ИС была использована среда разработки программ IDE Microsoft Visual Studio 2010 C#. Microsoft Visual Studio 2010Professional -- необходимое средство для независимых разработчиков, позволяющее решать основные задачи разработки. Система упрощает создание, отладку и развертывание приложений на различных платформах, включая SharePoint и облачную среду. Visual Studio 2010 Professional включает встроенную поддержку модели "разработка через тестирование", а также инструментов отладки, которые обеспечивают создание высококачественных решений.
Основными преимуществами Visual Studio являются:
- Использование вычислительных мощностей локального компьютера и облака;
- Простая реализация общих задач и индивидуальный подход;
- Быстрое создание высококачественного кода;
- Функция поддержки нескольких мониторов;
- Возможность реализации идей и решений для широкого спектра платформ, включая Windows, Windows Server, веб-среду, облачную среду, Office и SharePoint.
Эта среда подходит нам больше других благодаря тому, что она предоставляет достаточно широкий инструментарий для разработки Windows-приложений.
4.2 Схема функциональной структуры программной системы
В схеме функциональной структуры отображаются элементы функциональной структуры ИС, автоматизированные функции и (или) задачи (комплексы задач), совокупности действий (операций), выполняемых при реализации автоматизированных функций только техническими средствами (автоматически) или только человеком (Рисунок 14).
Рисунок 14 - Схема функциональной структуры программной системы
4.3 Руководство пользователя
При запуске приложения открывается стартовое окно приложения (Рисунок 15).
Рисунок 15 - Стартовое окно приложения
Для перехода к главному окну приложения нужно нажать кнопку «Начать работу».
Рисунок 16 - Главное окно приложения
Для просмотра таблиц базы данных необходимо нажать на 1 из 6 кнопок, соответствующих названию таблицы: «Супермаркеты», «Отделы», «Поставщики», «Товары», «Сотрудники», «Информация о З/П» (Рисунок 17).
Рисунок 17 - Просмотр таблицы «Отделы»
Чтобы добавить информацию в какую-либо таблицу, необходимо в меню выбрать нужный раздел, открыть необходимую таблицу и нажать «Добавление ...». В появившемся окне (Рисунок 18) необходимо заполнить соответствующие поля и нажать кнопку «Добавить».
Рисунок 18 - Добавление сотрудника
При необходимости можно закрыть форму добавления, не добавляя данных, нажав кнопку «Назад».
Что бы изменить информацию в какой- либо таблице, необходимо выбрать строку, которую нужно изменить, затем в меню выбрать нужный раздел, отрыть нужную таблицу и щёлкнуть на «Изменение ...». В появившемся окне (Рисунок 19) необходимо заполнить соответствующие поля и нажать кнопку «Добавить».
Рисунок 19 - Изменение информации о сотруднике
Для того, чтобы удалить запись из какой-либо таблицы Вам необходимо выбрать в таблице нужную строку, затем выбрать необходимый раздел и в меню нужной таблицы нажать «Удаление ...» . После этого появится диалоговое окно, в котором вы окончательно решаете, удалять запись из таблицы или нет (Рисунок 20).
Рисунок 20 - Удаление супермаркета
Чтобы сформировать отчет по какому либо супермаркету, нажмите Отчеты > Супермаркеты. Открывается новая форма, в которой из выпадающего списка выбираем супермаркет и нажимаем на кнопку «Вывод на печать» (Рисунок 21) и отчет об этом супермаркете будет сформирован в MS Excel (Рисунок 22). Будет доступно сохранение и распечатка этого отчета.
В случае необходимости нажмите кнопку «Назад», что бы отменить формирование отчёта.
Рисунок 21 - Выбор супермаркета, для которого необходимо сформировать отчет
Рисунок 22 - Пример сформированного отчета по супермаркету
Чтобы сформировать отчет по какому либо поставщику, нажмите Отчеты > Поставщики. Открывается новая форма, в которой из выпадающего списка выбираем поставщика и нажимаем на кнопку «Вывод на печать» (Рисунок 23) и отчет об этом поставщике будет сформирован в MS Excel (Рисунок 24). Будет доступно сохранение и распечатка этого отчета.
В случае необходимости нажмите кнопку «Назад», что бы отменить формирование отчёта.
Рисунок 23 - Выбор поставщика , для которого необходимо сформировать отчет
Рисунок 24 - Пример сформированного отчета по поставщику
Чтобы сформировать отчет по какому либо сотруднику, нажмите Отчеты > Сотрудники. Открывается новая форма, в которой из выпадающего списка выбираем сотрудника и нажимаем на кнопку «Вывод на печать» (Рисунок 25) и отчет об этом сотруднике будет сформирован в MS Excel (Рисунок 26). Будет доступно сохранение и распечатка этого отчета.
В случае необходимости нажмите кнопку «Назад», что бы отменить формирование отчёта.
Рисунок 25 - Выбор сотрудника, для которого необходимо сформировать отчет
Рисунок 26 - Пример сформированного отчета по сотруднику
4.4 Запросы к базе данных
Запрос на загрузку данных в таблицу «Супермаркет»:
Select * from [Супермаркет]
Запрос на загрузку данных в таблицу «Отдел»:
Select * from[Отдел]
Запрос на загрузку данных в таблицу «Поставщик»:
Select * from[Поставщик]
Запрос на загрузку данных в таблицу «Товар»:
Select * from[Товар]
Запрос на загрузку данных в таблицу «Сотрудник»:
Select * from [Сотрудник]
Запрос на загрузку данных в таблицу «Заработная плата»
Select * from [Заработная плата]
Запрос на добавление новой записи в таблицу «Супермаркет»:
"Insert into [Супермаркет] ([Код супермаркета], [Наименование], [Адрес], [Номер телефона], [ФИО руководителя]) values ('"
+ Convert.ToInt32(mainForm.dataGridView1[0, i].Value) + "', " + "'"
+ Convert.ToString(mainForm.dataGridView1[1, i].Value) + "', " + "'"
+ Convert.ToString(mainForm.dataGridView1[2, i].Value) + "', " + "'"
+ Convert.ToString(mainForm.dataGridView1[3, i].Value) + "', " + "'"
+ Convert.ToString(mainForm.dataGridView1[4, i].Value) + "')"
Запросы на добавление новой записи в таблицы «Отдел», «Поставщик», «Товар», «Сотрудник», «Заработная плата» аналогичны вышеприведенному запросу на добавление новой записи.
Запрос на изменение существующей записи в таблице «Супермаркет»:
"Update [Супермаркет] set [Наименование]='"
+ Convert.ToString(dataGridView1[1, i].Value) + "', [Адрес]='"
+ Convert.ToString(dataGridView1[2, i].Value) + "', [Номертелефона]='"
+ Convert.ToString(dataGridView1[3, i].Value) + "', [ФИОруководителя]='"
+ Convert.ToString(dataGridView1[4, i].Value) + "' where [Кодсупермаркета]='"
+ Convert.ToInt32(dataGridView1[0, numberRow].Value) + "'"
Запросы на изменение существующей записи в таблицах«Отдел», «Поставщик», «Товар», «Сотрудник», «Заработная плата» аналогичны вышеприведенному запросу на изменениесуществующей записи.
Запрос на удаление существующей записи в таблице «Супермаркет»:
"Delete [Супермаркет] where [Код супермаркета]='"
+ Convert.ToInt32(dataGridView1[0, numberRow].Value) + "'"
Запросы на удаление существующей записи в таблицах«Отдел», «Поставщик», «Товар», «Сотрудник», «Заработная плата» аналогичны вышеприведенному запросу на удаление существующей записи.
Запросы на выборку данных с условием:
"SELECT s.[ФИО], s.[Адрес], s.[Телефон], s.[Паспортные данные], s.[Страховой полис], s.[ИНН], s.[Пенсионное свидетельство], s.[Должность], z.[Расчётный период], z.[Оклад], z.[Надбавки], z.[Социальные выплаты], z.[Налоговый вычет], z.[Внерабочее время], z.[Отпускные], z.[Больничный]" + "FROM [Сотрудник] as s, [Заработная плата] as z "
+ "WHERE s.[ФИО]='" + fio + "' AND s.[Код сотрудника] = z.[Код сотрудника] "
"SELECT s.[Наименование], s.[Адрес], s.[Номер телефона], s.[ФИО руководителя], o.[Наименование отдела], o.[Количество сотрудников], o.[ФИО начальника отдела], o.[Номер телефона]" +
"FROM [Супермаркет] as s, [Отдел] as o " +
"WHERE s.[Наименование]='" + name + "' AND s.[Код супермаркета] = o.[Код супермаркета] "
"SELECT p.[Наименование поставщика], p.[Адрес], p.[ФИО директора], p.[Телефон], p.[ИНН], t.[Наименование товара], t.[Стоимость закупки], t.[Стоимость продажи], t.[Срок хранения], t.[Дата поставки], t.[Количество единиц] " +
"FROM [Поставщик] as p, [Товар] as t " +
"WHERE p.[Наименование поставщика]='" + name + "' AND p.[Код поставщика] = t.[Код поставщика] "
Заключение
Так как интеграция информационных систем во все сферы жизни увеличивается с каждым днем, то актуально становится разработка подобных баз данных. При этом разработчик должен учитывать то, что наиболее простые БД могут быть подвержены избыточности, но при этом нельзя и увлекаться делением БД на много составных таблиц. Также современные средства дружественного интерфейса позволяют разработать интуитивно понятные приложения, что является одним из основных требований заказчика. При создании БД необходимо принять во внимание область, для которой разрабатывается база данных.
В данном курсовом проекте была разработана информационная система «Товарооборот торговой розничной сети супермаркетов». Данная ИС позволяет автоматизировать работу сети супермаркетов, хранить данные о сотрудниках в базе данных. По запросу пользователя программа выводит в MS Excel следующие отчеты - «Супермаркеты», «Сотрудники», «Поставщики».
Проделав курсовой проект, были закреплены теоретические и практические знания по дисциплинам:«Базы данных», «Проектирование программных комплексов». Процесс проектирования организационных систем основан на совместном применении взаимодополняющих методов. Одной из важнейших задач управления на современном этапе является исследование и совершенствование методологии проектирования организационных систем в соответствии с изменяющимися условиями.
Список используемых источников
1. Изучаем SQL. ЛиннБейли. Издательство Питер, 2012.
2. Введение в SQL. Мартин Грабер: Пер. с англ. В.Я. Ястребов. - М.: «ЛОРИ», 1996.
3. К. Дэйт. Введение в системы баз данных. - М.: «Наука», 1998.
4. Мейер Д. Теория реляционных баз данных. -М.: Мир, 1987, 608 с.
5. Ульман Дж. Основы систем баз данных. М.: Финансы и статистика, 1983, 420 с.
6. Бьюли А. Изучаем SQL. Символ-Плюс,2007
7. Душан Петкович. Microsoft SQL Server 2008. Руководство для начинающих. БХВ-Петербург, 2009
8. Энтони Молинаро. SQL Сборник рецептов. Символ!Плюс, 2009
9. Крис Фиайли, SQL. ДМК Пресс, 2013
10. Пол Нильсен, SQL Server 2008. Библия пользователя. Диалектика, 2008.
Приложение
Главное форма приложения
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.SqlServerCe;
using Office = Microsoft.Office.Core;
using System.Reflection;
using Word = Microsoft.Office.Interop.Word;
using Excel = Microsoft.Office.Interop.Excel;
namespace Товарооборот
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
int numberRow;
private void button1_Click_1(object sender, EventArgs e)
{
Application.Exit();
}
private void SupermarketLoad()
{
string path = Application.StartupPath + "\\Товарооборот.sdf";
SqlCeConnection conn = new SqlCeConnection("Data Source=" + path + ";Persist Security Info=True");
conn.Open();
SqlCeCommand Komanda1 = new SqlCeCommand("Select* from [Супермаркет]", conn);
SqlCeDataReader komRead = Komanda1.ExecuteReader(CommandBehavior.CloseConnection);
List<string> idConst = new List<string>();
object[] row = new object[komRead.FieldCount];
Queue<object> ocher = new Queue<object>();
while (komRead.Read())
{
komRead.GetValues(row);
for (int i = 0; i < row.Length; i++)
{
ocher.Enqueue(row[i]);
}
idConst.Add(komRead.GetValue(0).ToString());
}
conn.Close();
for (int i = 0; i < idConst.Count; i++)
{
dataGridView1.Rows.Add();
for (int j = 0; j < 5; j++)
{
dataGridView1[j, i].Value = ocher.Dequeue();
}
}
}
private void SupermarketLoad1()
{
string path = Application.StartupPath + "\\Товарооборот.sdf";
SqlCeConnection conn = new SqlCeConnection("Data Source=" + path + ";Persist Security Info=True");
conn.Open();
SqlCeCommand Komanda1 = new SqlCeCommand("Select* from [Супермаркет]", conn);
SqlCeDataReader komRead = Komanda1.ExecuteReader(CommandBehavior.CloseConnection);
List<string> idConst = new List<string>();
object[] row = new object[komRead.FieldCount];
Queue<object> ocher = new Queue<object>();
while (komRead.Read())
{
komRead.GetValues(row);
for (int i = 0; i < row.Length; i++)
{
ocher.Enqueue(row[i]);
}
idConst.Add(komRead.GetValue(0).ToString());
}
conn.Close();
for (int i = 0; i < idConst.Count; i++)
{
for (int j = 0; j < 5; j++)
{
dataGridView1[j, i].Value = ocher.Dequeue();
}
}
}
private void Form2_Load(object sender, EventArgs e)
{
SupermarketLoad();
OtdelLoad();
PostavshikLoad();
TovarLoad();
SotrudnikiLoad();
ZPLoad();
}
private void добавлениеСупермаркетаToolStripMenuItem_Click(object sender, EventArgs e)
{
Form3 insertForm = new Form3();
dataGridView1.Rows.Add();
if (insertForm.ShowDialog() == System.Windows.Forms.DialogResult.Cancel)
{
for (int i = 0; i < dataGridView1.RowCount; i++)
{
if (dataGridView1[0, i].Value == null && dataGridView1[1, i].Value == null
&& dataGridView1[2, i].Value == null && dataGridView1[3, i].Value == null
&& dataGridView1[4, i].Value == null)
{
dataGridView1.Rows.RemoveAt(i);
}
}
}
else
{
SupermarketLoad1();
}
SupermarketLoad1();
}
private void изменениеСупермаркетаToolStripMenuItem_Click(object sender, EventArgs e)
{
Form4 saveForm = new Form4();
if (dataGridView1.SelectedRows.Count != 0)
{
saveForm.textBox1.Text = dataGridView1[0, numberRow].Value.ToString();
if (saveForm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
for (int i = 0; i < dataGridView1.RowCount; i++)
{
dataGridView1[1, i].Value = saveForm.textBox2.Text;
dataGridView1[2, i].Value = saveForm.textBox3.Text;
dataGridView1[3, i].Value = saveForm.textBox4.Text;
dataGridView1[4, i].Value = saveForm.textBox5.Text;
string path = Application.StartupPath + "\\Товарооборот.sdf";
SqlCeConnection conn = new SqlCeConnection("Data Source=" + path + ";Persist Security Info=True");
conn.Open();
SqlCeCommand Komanda = new SqlCeCommand("Update [Супермаркет] set [Наименование]='"
+ Convert.ToString(dataGridView1[1, i].Value) + "', [Адрес]='"
+ Convert.ToString(dataGridView1[2, i].Value) + "', [Номер телефона]='"
+ Convert.ToString(dataGridView1[3, i].Value) + "', [ФИО руководителя]='"
+ Convert.ToString(dataGridView1[4, i].Value) + "' where [Код супермаркета]='"
+ Convert.ToInt32(dataGridView1[0, numberRow].Value) + "'", conn);
Komanda.ExecuteNonQuery();
conn.Close();
}
}
}
else
{
MessageBox.Show("Выберите строку!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
SupermarketLoad1();
}
private void удалениеСупермаркетаToolStripMenuItem_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("Вы действительно хотите удалить супермаркет?", "Удаление супермаркета",
MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
switch (result)
{
case System.Windows.Forms.DialogResult.Yes:
if (dataGridView1.SelectedRows.Count != 0)
{
for (int i = 0; i < dataGridView1.RowCount; i++)
{
string path = Application.StartupPath + "\\Товарооборот.sdf";
SqlCeConnection conn = new SqlCeConnection("Data Source=" + path + ";Persist Security Info=True");
conn.Open();
SqlCeCommand command = new SqlCeCommand("Delete [Супермаркет] where [Код супермаркета]='"
+ Convert.ToInt32(dataGridView1[0, numberRow].Value) + "'", conn);
command.ExecuteNonQuery();
conn.Close();
}
dataGridView1.Rows.RemoveAt(numberRow);
}
else
{
MessageBox.Show("Выберите строку!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
break;
case System.Windows.Forms.DialogResult.No:
return;
}
SupermarketLoad1();
}
private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
numberRow = e.RowIndex;
}
..............
private void поставщикиToolStripMenuItem_Click(object sender, EventArgs e)
{
Form16 b = new Form16();
b.Show();
}
private void товарыToolStripMenuItem_Click(object sender, EventArgs e)
{
Form17 c = new Form17();
c.Show();
}
private void сотрудникиToolStripMenuItem_Click(object sender, EventArgs e)
{
Form15 a = new Form15();
a.Show();
}
}
}
Форма добавления (супермаркета):
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.SqlServerCe;
namespace Товарооборот
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Close();
}
private void Form3_Load(object sender, EventArgs e)
{
textBox2.Enabled = false;
textBox3.Enabled = false;
textBox4.Enabled = false;
textBox5.Enabled = false;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text != "")
{
textBox2.Enabled = true;
}
else
{
textBox2.Enabled = false;
}
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
if (textBox2.Text != "")
{
textBox3.Enabled = true;
}
else
{
textBox3.Enabled = false;
}
}
private void textBox3_TextChanged(object sender, EventArgs e)
{
if (textBox3.Text != "")
{
textBox4.Enabled = true;
}
else
{
textBox4.Enabled = false;
}
}
private void textBox4_TextChanged(object sender, EventArgs e)
{
if (textBox4.Text != "")
{
textBox5.Enabled = true;
}
else
{
textBox5.Enabled = false;
}
}
private void button2_Click(object sender, EventArgs e)
{
Form2 mainForm = new Form2();
mainForm.dataGridView1.Rows.Add();
for (int i = 0; i < mainForm.dataGridView1.RowCount; i++)
{
if (mainForm.dataGridView1[0, i].Value == null && mainForm.dataGridView1[1, i].Value == null
&& mainForm.dataGridView1[2, i].Value == null && mainForm.dataGridView1[3, i].Value == null
&& mainForm.dataGridView1[4, i].Value == null)
{
mainForm.dataGridView1[0, i].Value = textBox1.Text;
mainForm.dataGridView1[1, i].Value = textBox2.Text;
mainForm.dataGridView1[2, i].Value = textBox3.Text;
mainForm.dataGridView1[3, i].Value = textBox4.Text;
mainForm.dataGridView1[4, i].Value = textBox5.Text;
string path = Application.StartupPath + "\\Товарооборот.sdf";
SqlCeConnection conn = new SqlCeConnection("Data Source=" + path + ";Persist Security Info=True");
conn.Open();
SqlCeCommand Komanda = new SqlCeCommand(
"Insert into [Супермаркет] ([Код супермаркета], [Наименование], [Адрес], [Номер телефона], [ФИО руководителя]) values ('"
+ Convert.ToInt32(mainForm.dataGridView1[0, i].Value) + "', " + "'"
+ Convert.ToString(mainForm.dataGridView1[1, i].Value) + "', " + "'"
+ Convert.ToString(mainForm.dataGridView1[2, i].Value) + "', " + "'"
+ Convert.ToString(mainForm.dataGridView1[3, i].Value) + "', " + "'"
+ Convert.ToString(mainForm.dataGridView1[4, i].Value) + "')", conn);
Komanda.ExecuteNonQuery();
conn.Close();
}
}
mainForm.dataGridView1.Rows.Add();
Close();
}
private void textbox1_KeyPress(object sender, KeyPressEventArgs e)
{
if ((char.IsDigit(e.KeyChar) == true) || (e.KeyChar == (char)ConsoleKey.Backspace))
{
return;
}
else { e.Handled = true; }
}
}
}
Форма вывода отчёта (о сотруднике):
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.SqlServerCe;
using Office = Microsoft.Office.Core;
using System.Reflection;
using Word = Microsoft.Office.Interop.Word;
using System.Data.SqlClient;
using System.Threading.Tasks;
using Excel = Microsoft.Office.Interop.Excel;
namespace Товарооборот
{
public partial class Form15 : Form
{
public Form15()
{
InitializeComponent();
}
private void Form15_Load(object sender, EventArgs e)
{
string path = Application.StartupPath + "\\Товарооборот.sdf";
SqlCeConnection conn = new SqlCeConnection("Data Source=" + path + ";Persist Security Info=True");
conn.Open();
SqlCeCommand Komanda = new SqlCeCommand("Select [ФИО] from [Сотрудник]", conn);
SqlCeDataReader Chitatel = Komanda.ExecuteReader(CommandBehavior.CloseConnection);
string str;
while (Chitatel.Read() == true)
{
str = Convert.ToString(Chitatel.GetValue(0));
comboBox1.Items.Add(str);
}
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
private void button2_Click(object sender, EventArgs e)
{
Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook ExcelWorkBook;
ExcelWorkBook = ExcelApp.Workbooks.Open(@"C:/Sotr.xlsx");
Microsoft.Office.Interop.Excel.Worksheet sheet = (Microsoft.Office.Interop.Excel.Worksheet)ExcelWorkBook.Worksheets[1];
string path = Application.StartupPath + "\\Товарооборот.sdf";
SqlCeConnection conn = new SqlCeConnection("Data Source=" + path + ";Persist Security Info=True");
conn.Open();
string fio = comboBox1.Text;
var Komanda = new SqlCeCommand("SELECT s.[ФИО], s.[Адрес], s.[Телефон], s.[Паспортные данные], s.[Страховой полис], s.[ИНН], s.[Пенсионное свидетельство], s.[Должность], z.[Расчётный период], z.[Оклад], z.[Надбавки], z.[Социальные выплаты], z.[Налоговый вычет], z.[Внерабочее время], z.[Отпускные], z.[Больничный]" +
"FROM [Сотрудник] as s, [Заработная плата] as z " +
"WHERE s.[ФИО]='" + fio + "' AND s.[Код сотрудника] = z.[Код сотрудника] ", conn);
SqlCeDataReader Chitatel = Komanda.ExecuteReader(CommandBehavior.CloseConnection);
while (Chitatel.Read() == true)
{
sheet.Cells[3, 2] = comboBox1.Text;
sheet.Cells[2, 6] = DateTime.Today;
sheet.Cells[4, 2] = Chitatel.GetValue(1);
sheet.Cells[5, 2] = Chitatel.GetValue(2);
sheet.Cells[6, 2] = Chitatel.GetValue(3);
sheet.Cells[7, 2] = Chitatel.GetValue(4);
sheet.Cells[8, 2] = Chitatel.GetValue(5);
sheet.Cells[9, 2] = Chitatel.GetValue(6);
sheet.Cells[10, 2] = Chitatel.GetValue(7);
sheet.Cells[3, 5] = Chitatel.GetValue(8);
sheet.Cells[4, 5] = Chitatel.GetValue(9);
sheet.Cells[5, 5] = Chitatel.GetValue(10);
sheet.Cells[6, 5] = Chitatel.GetValue(11);
sheet.Cells[7, 5] = Chitatel.GetValue(12);
sheet.Cells[8, 5] = Chitatel.GetValue(13);
sheet.Cells[9, 5] = Chitatel.GetValue(14);
sheet.Cells[10, 5] = Chitatel.GetValue(15);
}
((Microsoft.Office.Interop.Excel._Worksheet)sheet).Activate();
ExcelApp.Visible = true;
ExcelApp.UserControl = true;
this.Close();
}
}
}
Размещено на Allbest.ur
Подобные документы
Разработка структуры информационной системы с использованием СУБД MS Access. Моделирование бизнес-процессов с помощью IDEF0-диаграмм. Проектирование приложения в среде Delphi. Физическая реализация структуры базы данных. Создание интерфейса системы.
отчет по практике [3,4 M], добавлен 07.01.2015Разработка базы данных для информационной поддержки деятельности аптеки с целью автоматизированного ведения данных о лекарствах аптеки. Проектирование схемы базы данных с помощью средства разработки структуры базы данных Microsoft SQL Server 2008.
курсовая работа [3,6 M], добавлен 18.06.2012Понятие информационной системы. Основное определение базы данных (БД). Системы управления базами данных. Популярность СУБД Microsoft Access. Характеристика СУБД MySQL. Особенности разработки информационной системы по курсу вычислительной математики.
курсовая работа [785,8 K], добавлен 05.10.2012Разработка модуля автоматизации продажи автозапчастей. Проектирование информационной системы на основе базы данных в среде Microsoft SQL Server 2008. Структуры диалога и программного обеспечения. Описание запросов и отчетов к БД. Создание средств защиты.
курсовая работа [1,1 M], добавлен 10.12.2014Общая характеристика информационной системы "Электронный деканат", ее задачи и требования. Особенности технологии проекта. Проектирование базы данных с использованием Microsoft SQL Server 2005. Технико-экономическое обоснование проекта и охрана труда.
дипломная работа [1,2 M], добавлен 11.03.2011Программные средства для реализации базы данных и серверной части информационной системы "Учета технического обслуживания станков" средствами СУБД Microsoft SQL Server 2008. Разработка триггеров для поддержки сложных ограничений целостности в базе данных.
курсовая работа [768,3 K], добавлен 01.02.2013Задачи, функции и структура филиала университета. Оценка информационных потоков и UML-моделирование. Анализ структуры информационной системы и системы навигации. Проектирование базы данных, физическая реализация и тестирование информационной системы.
дипломная работа [6,0 M], добавлен 21.01.2012Системный анализ предметной области. Нормальные формы таблиц. Физическое проектирование базы данных. Реализация структуры БД в СУБД MySQL. Запросы на создание таблиц, добавление и выборку данных. Реализация триггера и функции. Программный код WEB-страниц.
курсовая работа [748,9 K], добавлен 01.11.2014Выбор, обоснование и особенности работы СУБД. Характеристика языков программирования. Разработка структурной и функциональной модели информационной системы аптеки. Проектирование программной среды АИС и ее интерфейса. Построение модели базы данных.
курсовая работа [442,3 K], добавлен 21.04.2012Разработка базы данных информационной системы предприятия. Хранение информации о проведенных мероприятиях, его стоимости, дате и месте проведения. Использование программного продукта Microsoft SQL Server 2008 R2. Формирование информационных запросов.
дипломная работа [508,9 K], добавлен 21.02.2016