Проектирование информационной системы товарооборота кирпичного завода

 

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

ФГБОУ ВПО Кубанский государственный технологический университет

(КубГТУ)

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

Кафедра информационных систем и программирования







КУРСОВОЙ ПРОЕКТ

по дисциплине: «Базы данных»

на тему «Проектирование информационной системы товарооборота кирпичного завода»


Выполнил студент группы

-КБ-ПИ-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. Концептуальная модель базы данных


.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 - Просмотр добавленных данных в таблицы


.5 ER-диаграмма


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


Рисунок 13 - ER-диаграмма БД


3.6 Описание структуры запросов к базе данных


Вставка нового значения в таблицу выглядит следующим образом: INSERT INTO <имя таблицы> VALUES (<значение>, <значение>). Изменение записи в таблице: UPDATE [<Имя таблицы>] SET [<Имя столбца>]=<значение>[WHERE<Опция>]. Удаление записи в таблице: DELETE FROM [<Имя таблицы>] WHERE [<Условия>].Выборка всех записей таблицы: SELECT* FROM <имя таблицы>. Выборка записей таблицы по условию: SELECT <Имя столбца>FROM<Имя таблицы>WHERE[<Условия>].



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 Запросы к базе данных


Запрос на загрузку данных в таблицу «Супермаркет»:* from [Супермаркет]

Запрос на загрузку данных в таблицу «Отдел»:* from[Отдел]

Запрос на загрузку данных в таблицу «Поставщик»:* from[Поставщик]

Запрос на загрузку данных в таблицу «Товар»:* from[Товар]

Запрос на загрузку данных в таблицу «Сотрудник»:* from [Сотрудник]

Запрос на загрузку данных в таблицу «Заработная плата»* 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.

.К. Дэйт. Введение в системы баз данных. - М.: «Наука», 1998.

.Мейер Д. Теория реляционных баз данных. -М.: Мир, 1987, 608 с.

.Ульман Дж. Основы систем баз данных. М.: Финансы и статистика, 1983, 420 с.

.Бьюли А. Изучаем SQL. Символ-Плюс,2007

.Душан Петкович. Microsoft SQL Server 2008. Руководство для начинающих. БХВ-Петербург, 2009

.Энтони Молинаро. SQL Сборник рецептов. Символ!Плюс, 2009

.Крис Фиайли, SQL. ДМК Пресс, 2013

.Пол Нильсен, SQL Server 2008. Библия пользователя. Диалектика, 2008.



Приложение


Главное форма приложения

System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;System.Data.SqlServerCe;Office = Microsoft.Office.Core;System.Reflection;Word = Microsoft.Office.Interop.Word;Excel = Microsoft.Office.Interop.Excel;

Товарооборот

{partial class Form2 : Form

{Form2()

{();

}numberRow;void button1_Click_1(object sender, EventArgs e)

{.Exit();

}

void SupermarketLoad()

{path = Application.StartupPath + "\\Товарооборот.sdf";conn = new SqlCeConnection("Data Source=" + path + ";Persist Security Info=True");.Open();Komanda1 = new SqlCeCommand("Select* from [Супермаркет]", conn);komRead = Komanda1.ExecuteReader(CommandBehavior.CloseConnection);<string> idConst = new List<string>();[] row = new object[komRead.FieldCount];<object> ocher = new Queue<object>();(komRead.Read())

{.GetValues(row);(int i = 0; i < row.Length; i++)

{.Enqueue(row[i]);

}.Add(komRead.GetValue(0).ToString());

}.Close();(int i = 0; i < idConst.Count; i++)

{.Rows.Add();(int j = 0; j < 5; j++)

{[j, i].Value = ocher.Dequeue();

}

}

}void SupermarketLoad1()

{path = Application.StartupPath + "\\Товарооборот.sdf";conn = new SqlCeConnection("Data Source=" + path + ";Persist Security Info=True");.Open();Komanda1 = new SqlCeCommand("Select* from [Супермаркет]", conn);komRead = Komanda1.ExecuteReader(CommandBehavior.CloseConnection);<string> idConst = new List<string>();[] row = new object[komRead.FieldCount];<object> ocher = new Queue<object>();(komRead.Read())

{.GetValues(row);(int i = 0; i < row.Length; i++)

{.Enqueue(row[i]);

}.Add(komRead.GetValue(0).ToString());

}.Close();(int i = 0; i < idConst.Count; i++)

{(int j = 0; j < 5; j++)

{[j, i].Value = ocher.Dequeue();

}

}

}void Form2_Load(object sender, EventArgs e)

{();();();();();();

}

void добавлениеСупермаркетаToolStripMenuItem_Click(object sender, EventArgs e)

{insertForm = new Form3();.Rows.Add();(insertForm.ShowDialog() == System.Windows.Forms.DialogResult.Cancel)

{(int i = 0; i < dataGridView1.RowCount; i++)

{(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)

{.Rows.RemoveAt(i);

}

}

}

{();

}();

}

void изменениеСупермаркетаToolStripMenuItem_Click(object sender, EventArgs e)

{saveForm = new Form4();(dataGridView1.SelectedRows.Count != 0)

{.textBox1.Text = dataGridView1[0, numberRow].Value.ToString();(saveForm.ShowDialog() == System.Windows.Forms.DialogResult.OK)

{(int i = 0; i < dataGridView1.RowCount; i++)

{[1, i].Value = saveForm.textBox2.Text;[2, i].Value = saveForm.textBox3.Text;[3, i].Value = saveForm.textBox4.Text;[4, i].Value = saveForm.textBox5.Text;path = Application.StartupPath + "\\Товарооборот.sdf";conn = new SqlCeConnection("Data Source=" + path + ";Persist Security Info=True");.Open();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);.ExecuteNonQuery();.Close();

}

}

}


{.Show("Выберите строку!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

}();

}

void удалениеСупермаркетаToolStripMenuItem_Click(object sender, EventArgs e)

{result = MessageBox.Show("Вы действительно хотите удалить супермаркет?", "Удаление супермаркета",

MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);(result)

{System.Windows.Forms.DialogResult.Yes:(dataGridView1.SelectedRows.Count != 0)

{(int i = 0; i < dataGridView1.RowCount; i++)

{path = Application.StartupPath + "\\Товарооборот.sdf";conn = new SqlCeConnection("Data Source=" + path + ";Persist Security Info=True");.Open();command = new SqlCeCommand("Delete [Супермаркет] where [Код супермаркета]='"

+ Convert.ToInt32(dataGridView1[0, numberRow].Value) + "'", conn);.ExecuteNonQuery();.Close();

}.Rows.RemoveAt(numberRow);

}

{.Show("Выберите строку!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

};System.Windows.Forms.DialogResult.No:;

}();

}void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)

{= e.RowIndex;

}


..............

void поставщикиToolStripMenuItem_Click(object sender, EventArgs e)

{b = new Form16();.Show();

}

void товарыToolStripMenuItem_Click(object sender, EventArgs e)

{c = new Form17();.Show();

}

void сотрудникиToolStripMenuItem_Click(object sender, EventArgs e)

{a = new Form15();.Show();

}

}

}


Форма добавления (супермаркета):

using System;

using System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;System.Data.SqlServerCe;

Товарооборот

{partial class Form3 : Form

{Form3()

{();

}

void button1_Click(object sender, EventArgs e)

{();

}

void Form3_Load(object sender, EventArgs e)

{.Enabled = false;.Enabled = false;.Enabled = false;.Enabled = false;

}

void textBox1_TextChanged(object sender, EventArgs e)

{(textBox1.Text != "")

{.Enabled = true;

}

{.Enabled = false;

}

}

void textBox2_TextChanged(object sender, EventArgs e)

{(textBox2.Text != "")

{.Enabled = true;

}

{.Enabled = false;

}

}void textBox3_TextChanged(object sender, EventArgs e)

{(textBox3.Text != "")

{.Enabled = true;

}

{.Enabled = false;

}

}

void textBox4_TextChanged(object sender, EventArgs e)

{(textBox4.Text != "")

{.Enabled = true;

}

{.Enabled = false;

}

}

void button2_Click(object sender, EventArgs e)

{mainForm = new Form2();.dataGridView1.Rows.Add();(int i = 0; i < mainForm.dataGridView1.RowCount; i++)

{(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)

{.dataGridView1[0, i].Value = textBox1.Text;.dataGridView1[1, i].Value = textBox2.Text;.dataGridView1[2, i].Value = textBox3.Text;.dataGridView1[3, i].Value = textBox4.Text;.dataGridView1[4, i].Value = textBox5.Text;path = Application.StartupPath + "\\Товарооборот.sdf";conn = new SqlCeConnection("Data Source=" + path + ";Persist Security Info=True");.Open();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);.ExecuteNonQuery();.Close();

}

}.dataGridView1.Rows.Add();();

}void textbox1_KeyPress(object sender, KeyPressEventArgs e)

{((char.IsDigit(e.KeyChar) == true) || (e.KeyChar == (char)ConsoleKey.Backspace))

{;

}{ e.Handled = true; }

}


}

}


Форма вывода отчёта (о сотруднике):


using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;System.Data.SqlServerCe;Office = Microsoft.Office.Core;System.Reflection;Word = Microsoft.Office.Interop.Word;System.Data.SqlClient;System.Threading.Tasks;Excel = Microsoft.Office.Interop.Excel;Товарооборот

{partial class Form15 : Form

{Form15()

{();

}

void Form15_Load(object sender, EventArgs e)

{path = Application.StartupPath + "\\Товарооборот.sdf";conn = new SqlCeConnection("Data Source=" + path + ";Persist Security Info=True");.Open();Komanda = new SqlCeCommand("Select [ФИО] from [Сотрудник]", conn);Chitatel = Komanda.ExecuteReader(CommandBehavior.CloseConnection);str;(Chitatel.Read() == true)

{= Convert.ToString(Chitatel.GetValue(0));.Items.Add(str);

}

}void button3_Click(object sender, EventArgs e)

{.Close();

}void button2_Click(object sender, EventArgs e)

{.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application();.Office.Interop.Excel.Workbook ExcelWorkBook;= ExcelApp.Workbooks.Open(@"C:/Sotr.xlsx");.Office.Interop.Excel.Worksheet sheet = (Microsoft.Office.Interop.Excel.Worksheet)ExcelWorkBook.Worksheets[1];

path = Application.StartupPath + "\\Товарооборот.sdf";conn = new SqlCeConnection("Data Source=" + path + ";Persist Security Info=True");.Open();

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);

(Chitatel.Read() == true)

{.Cells[3, 2] = comboBox1.Text;.Cells[2, 6] = DateTime.Today;.Cells[4, 2] = Chitatel.GetValue(1);.Cells[5, 2] = Chitatel.GetValue(2);.Cells[6, 2] = Chitatel.GetValue(3);.Cells[7, 2] = Chitatel.GetValue(4);.Cells[8, 2] = Chitatel.GetValue(5);.Cells[9, 2] = Chitatel.GetValue(6);.Cells[10, 2] = Chitatel.GetValue(7);.Cells[3, 5] = Chitatel.GetValue(8);.Cells[4, 5] = Chitatel.GetValue(9);.Cells[5, 5] = Chitatel.GetValue(10);.Cells[6, 5] = Chitatel.GetValue(11);.Cells[7, 5] = Chitatel.GetValue(12);.Cells[8, 5] = Chitatel.GetValue(13);.Cells[9, 5] = Chitatel.GetValue(14);.Cells[10, 5] = Chitatel.GetValue(15);

}


((Microsoft.Office.Interop.Excel._Worksheet)sheet).Activate();.Visible = true;.UserControl = true;.Close();

}

}

}


Министерство образования и науки Российской Федерации ФГБОУ ВПО Кубанский государственный технологический университет (КубГТУ) Институт компьютерных си

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ