Разработка практичного программного обеспечения для хранения данных компании в С#
Опубликовано: 05.09.2018
Содержание:
Введение Постановка задачи Цель Обоснование выбора среды разработки Обзор основных функций программы Работа с данными Меню настроек. Работа с интерфейсом Вывод Список литературыВведение:
В данный момент рынок программного обеспечения активно развивается в развлекательной сфере. Однако, широкие возможности открываются для программиста так же и в проектировании приложений для торговых компаний. К примеру, существует множество складских предприятий, в которые необходимо внедрять достижения из сферы разработки программного обеспечения, ориентированного на работу с базами данных.
Постановка задачи:
Спроектировать удобное программное обеспечение для учёта и контроля работы предприятий, ориентированных на поставки.
Цель:
Разработать удобное и практичное программное обеспечение для хранения и использования данных компании.
Обоснование выбора среды разработки:
Для решения данной задачи лучше всего подходит С# и среда программирования Microsoft Visual Studio 2010. Язык имеет статическую типизацию, поддерживает
полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые
типы и методы, итераторы, анонимные функции с поддержкой замыканий,
LINQ, исключения, комментарии в формате XML.
Среда разработки поддерживает различные языки программировании в том числе С# и позволяет легко реализовать дизайн создаваемого приложения.
Обзор основных функций программы
«Enterprise Management»:
Давайте рассмотрим основные функции программы и возможности настроек интерфейса в ней. При запуске программы отображается изображение, меню выбора функций (пока что доступна лишь работа с данными) и основное меню настроек программы. Рассмотрим в первую очередь возможности программы по работе с данными.
Работа с данными.
После нажатия кнопки «БД» перед нами отображаются три поля для работы. Левое поле содержит «дерево» с выбором данных, среднее предназначено для работы с базой, правое меню настроек.
Все данные в файле и в программе разделяются по специальные смысловые отделы, из которых было сформировано дерево-меню. Просмотр предусмотрен лишь для конечных элементов.
Первоначально в программе нет данных для отображения, поэтому при нажатии на любой пункт в «дереве» будет отображено модальное окно с сообщением. Это происходит за счёт проверки условия на наличие подключенной БД, благодаря булевой переменной connectDB .
if ( connectDB )
{…}
else { MessageBox . Show ("Нет подключённых БД. Выполните соединение с БД!!!"); }
Программа « Enterprise Management » поддерживает работу с файлами баз данных, созданных в Microsoft Access 2007 (*.accdb) . Для открытия файлов необходимо в меню «База данных» выбрать «Открыть». После чего открывается окно обзора папок. По умолчанию указана папка «Мои документы». Необходимо указать папку, в которой содержатся файлы данных, программа выберет (если они есть) и соберёт в список, названия тех которые способна открыть. Дальше пользователь может выбрать необходимую БД. Ниже указана функция, осуществляющая эти операции:
private void openBD_Click(object sender, EventArgs e)
{
string tempPath;
DirectoryInfo di; // каталог
// получить имя каталога "Мои документы"
di = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments));
tempPath = di.FullName;
// FolderBrowserDialog - окно Обзор папок
FolderBrowserDialog fb = new FolderBrowserDialog();
fb.Description = " Выберите папку ,\n" + " в которой находятся база данных Access 2007";
fb.ShowNewFolderButton = false;
fb.SelectedPath = tempPath;// Стартовая папка
// отображаем диалоговое окно
if (fb.ShowDialog() == DialogResult.OK)
{
// пользователь выбрал каталог и
// щелкнул на кнопке OK
aPath = fb.SelectedPath;
if (!isFolderEmptyy(fb.SelectedPath))
{
MessageBox.Show("Доступные Базы Данных не найдены!", "Уведомление об ОШИБКЕ", MessageBoxButtons.OK);
}
}
}
После открытия базы данных пользователь может выбирать в левом меню необходимые данные, которые будут отображаться в среднем поле. Информация размещается на объекте DataTable , который в свою очередь в DataGridView . Ниже представлен код функции, выполняемой при клике по дереву-меню:
private void treeCompany_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
{
centerPanel.Controls.Clear(); // Удаляем с панели все элементы управления
if (connectDB)
{
if (e.Node.Text == "Персонал" || e.Node.Text == "Отделы компании" || e.Node.Text == "Клиенты" || e.Node.Text == "Поставщики" || e.Node.Text == "На складе" || e.Node.Text == "Клиентов" || e.Node.Text == "Предприятия" || e.Node.Text == "Заказанный" || e.Node.Text == "Поставляемый")
{
dataGridView = new DataGridView(); // Добавляем элемент DataGridView на форму
this.dataGridView.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
dataGridView.Dock = DockStyle.Fill;
dataGridView.BackgroundColor = Color.WhiteSmoke;
dataGridView.AutoResizeColumns();
centerPanel.Controls.Add(dataGridView);
if (e.Node.Text == " Персонал ") sql = "SELECT * FROM staff";
//Из таблицы < name > использовать все столбцы (*)
else if (e.Node.Text == " Отделы компании ") sql = "SELECT * FROM departments_of_the_enterprise";
else if (e.Node.Text == " Клиенты ") sql = "SELECT * FROM clients";
else if (e.Node.Text == " Поставщики ") sql = "SELECT * FROM providers";
else if (e.Node.Text == " На складе ") sql = "SELECT * FROM product";
else if (e.Node.Text == " Заказанный ") sql = "SELECT * FROM products_ordered";
else if (e.Node.Text == " Поставляемый ") sql = "SELECT * FROM product_supplied";
else if (e.Node.Text == " Клиентов ") sql = "SELECT * FROM orders";
else if (e.Node.Text == " Предприятия ") sql = "SELECT * FROM order_by_company";
dataTable = new DataTable(); // DataTable сохраняет данные в памяти как таблицу
sqlCommand = new OleDbCommand(sql, connection); // Создаем команду
dataAdapter = new OleDbDataAdapter(sqlCommand);
// DataAdapter посредник между базой данных и DataSet
commandBuilder = new OleDbCommandBuilder(dataAdapter);
// Создаем построитель команд ; Для адаптера становится доступной команда Update
dataAdapter.Fill(dataTable);
// Данные из адаптера поступают в DataTable
dataGridView.DataSource = dataTable;
// Связываем данные с элементом DataGridView
connection.Close(); // Очистка
dataGridView.AutoResizeColumns();
activateAccessMenuDB();
}
else { centerPanel.Controls.Clear(); /*centerPanel.BackColor = Color.Black;*/ }
}
else { MessageBox.Show(" Нет открытых БД . Откройте БД!!!"); }
}
Как видно из кода: к определённому пункту меню соответствует своя sql -команда для получения данных из таблиц БД. Также внизу окна, в полосе статуса, будет отображаться адрес, где размещается используемый файл и открыт ли он программой в данный момент.
Вся информация отображается на экране и изменения внесённые пользователем не повлекут изменений в файле. Для того чтобы изменения вступили в силу, необходимо выбрать в меню «База данных» -- > «Редактировать», а после окончания работы с данными необходимо выбрать в меню «База данных» -- > «Сохранить». Сохранение произойдёт путём переноса данных с DataGridView в файл:
private void saveBD _ Click ( object sender , EventArgs e )
{
try
{
dataAdapter . Update (( DataTable ) dataGridView . DataSource );
MessageBox.Show("Изменения в базе данных выполнены!", "Уведомление о результатах", MessageBoxButtons.OK);
saveBD.Enabled = false;
changeBD.Enabled = true;
}
catch (Exception)
{
MessageBox.Show("Изменения в базе данных выполнить не удалось!", "Уведомление о результатах", MessageBoxButtons.OK);
}
}
В случае если невозможно сохранить БД, отобразится уведомление о неудаче выполнения операции.
Так же, в программе доступно обновление данных в поле для работы. Благодаря этой функции пользователь сможет отменить изменения в поле для работы или проверить сохранились ли данные в файл. Это происходит путём повторного извлечения данных из файла и размещения их в поле для работы.
Меню настроек. Работа с интерфейсом.
Любое приложение должно предоставлять возможность настраивать интерфейс под нужды пользователя. « Enterprise Management » не исключение. Настройки в приложении подразделяются на два типа: локальные и глобальные.
К числу локальных относятся: настройка цвета текста выводимых данных, рамки таблицы и смена фона рабочей области. Для изменения этих параметров необходимо в правой области окна развернуть соответствующее меню. Выбор цвета обеспечивается вызовом стандартного окна с палитрой. Это реализуется при помощи следующей функции (пример с выбором цвета текста):
private void changeCOLtext_Click(object sender, EventArgs e)
{
Color CCC = Color.FromArgb(25, 50, 75);
System.Windows.Forms.ColorDialog cdg = new System.Windows.Forms.ColorDialog();
cdg.Color = CCC;
if (cdg.ShowDialog() == DialogResult.OK)
{
CCC = cdg.Color;
dataGridView.ForeColor = CCC;// цвет текста
}
}
Аналогично построены и две другие функции.
К глобальным настройкам относится возможность изменения характеристик окна. Данные настройки располагаются в левом верхнем углу приложения, во вкладке « Enterprise Management ». В появившемся модальном окне, пользователь имеет возможность изменить тип окна, прозрачность и его приоритет в сравнении с другими приложениями и окнами. Прозрачность окна изменяется благодаря удобному трек-бару, прокручивая который можно видеть, как изменяется значение рядом.
При открытии окна настроек, значения всех параметров выставляются по умолчанию. Что даёт возможность быстро сбрасывать, ранее установленные пользователем настройки. А при закрытии модального окна все настройки автоматически вступают в силу.
Вывод: Приложение « Enterprise Management » имеет удобный и красочный интерфейс и позволяет пользователю работать с данными компании, которые в свою очередь разделены на такие логические типы как контакты, товар и заказы. Каждая из таблиц данных подключается к древовидному меню и отображается в поле для работы. Таблицы извлекаются из файла БД через определённые через sql -команды. Также в приложении имеется возможность открыть другую подготовленную БД. Пользователь имеет возможность редактировать данные и по желанию сохранять их в исходном файле.
« Enterprise Management » наглядно разделено и очень практично в использовании. А имеющиеся возможности настройки приложения позволяют его адаптировать под различные нужды пользователя.
Список литературы:
1. Microsoft Visual C # в задачах и примерах: Культин Н.Б. СПб.: БХВ-Петербург, 2009. 320с.
2. SQL : Полное руководство: Дж. Грофф, П. Вайнберг: Пер. с англд. 2-е изд., перераб. И доп. К.: Издательская группа BHV , 2001. 816 с., ил.
3. С#4.0 на примерах: Ватсон Б. СПб.: БХВ-Петербург, 2011. 608 с: ил. 4.