КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Тестирование программы
Программа тестировалась на плотформах: Windows 7, Windows 8, Windows server 2012 r2. Тестирование происходило вручную по всем моментам требуемым курсовым заданием. Заключение При разработке курсового проекта был использован язык программирования c #. Программа создавалась в программе Visual Studio 2013. Программа соответствует набору требований. Есть возможность добавлять и изменять базу данных, а также программы на интуитивном уровне. Программа создана для учета средств, индивидуального пользования компьютерной техникой с привязкой на конкретного пользователя с личными данными. Программа будет полезна системным администраторам или бухгалтерам.
Список используемой литературы:
Приложение А TurtsevCourseWork.cs { public partial class MainForm: Form { public MainForm() { InitializeComponent(); }
private GridEnum _currentList = GridEnum.Employee;
//открыть список сотрудников private void btnEmployeeList_Click(object sender, EventArgs e) { DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM employee"); _currentList = GridEnum.Employee; } //открыть список техники private void btnTechnicList_Click(object sender, EventArgs e) { DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM Technics"); _currentList = GridEnum.Technics; } //открыть список списанной техники private void btnShowInventory_Click(object sender, EventArgs e) { DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM Technics WHERE Inventarized = 'Yes'"); _currentList = GridEnum.Inventarized; }
//событие загрузки формы private void MainForm_Load(object sender, EventArgs e) { DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM employee"); } //кнопка удалить private void btnDeleteRecord_Click(object sender, EventArgs e) { switch(_currentList) { case(GridEnum.Employee): DBHelper.ExecuteCommand(String.Format("DELETE FROM employee WHERE id={0};", gridView.SelectedRows[0].Cells["id"].Value)); DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM employee"); break; case (GridEnum.Technics): DBHelper.ExecuteCommand(String.Format("DELETE FROM Technics WHERE id={0};", gridView.SelectedRows[0].Cells["id"].Value)); DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM Technics"); break; case (GridEnum.NonUsed): DBHelper.ExecuteCommand(String.Format("DELETE FROM Technics WHERE id={0};", gridView.SelectedRows[0].Cells["id"].Value)); DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM Technics WHERE Inventarized = 'No' AND Used = 'No'"); break; default: DBHelper.ExecuteCommand(String.Format("DELETE FROM Technics WHERE id={0};", gridView.SelectedRows[0].Cells["id"].Value)); DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM Technics WHERE Inventarized = 1"); break; } } //кнопка открыть private void btnOpenRecord_Click(object sender, EventArgs e) { this.OpenDetailForm(false); }
} //двойной клик по списку открывает форму для просмотра private void gridView_DoubleClick(object sender, EventArgs e) { this.OpenDetailForm(false); }
private void OpenDetailForm(bool isNewObject) { switch (_currentList) { case (GridEnum.Employee): this.OpenEmployeeForm(isNewObject); break; default: this.OpenTechnicForm(isNewObject); break; } } //открыть список рабоче и неиспользуемой техники private void button1_Click(object sender, EventArgs e) { DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM Technics WHERE Inventarized = 'No' AND Used = 'No'"); _currentList = GridEnum.NonUsed; } //кнопка создать private void btnCreateRecord_Click(object sender, EventArgs e) { this.OpenDetailForm(true); }
private void MainForm_Activated(object sender, EventArgs e) { switch (_currentList) { case (GridEnum.Employee): DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM employee"); break; case (GridEnum.Technics): DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM Technics"); break; case (GridEnum.NonUsed): DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM Technics WHERE Inventarized = 'No' AND Used = 'No'"); break; default: DBHelper.ExecuteAndShowDataGrid(gridView, "SELECT * FROM Technics WHERE Inventarized = 1"); break; } } } }
Program.cs { static class Program { /// <summary> /// Точка входа. /// </summary> [STAThread] static void Main() {
if (!File.Exists("TechnicsDB.db")) CreateDB();
Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm()); }
/// <summary> /// Создание базы данных и генерация данных. /// </summary> static void CreateDB() { //создание таблицы сотрудников string createEmpl = @"DROP TABLE IF EXISTS employee; CREATE TABLE employee( ID INTEGER PRIMARY KEY AUTOINCREMENT, FirstName TEXT, LastName TEXT, Position TEXT, BirthDate TEXT, Technic TEXT); INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic) VALUES ('Ivan', 'Nosov', 'Manager', '01.03.1985', 'PC-1002'); INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic) VALUES ('Leonid', 'Satin', 'Worker', '04.10.1970', 'PC-2024'); INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic) VALUES ('Elena', 'Vasilieva', 'Worker', '09.12.1990', 'PC-1206'); INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic) VALUES ('Petr', 'Osinin', 'Worker', '26.02.1995', 'PC-3245'); INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic) VALUES ('Nikolai', 'Losev', 'Manager', '16.03.1978', 'PC-1134'); INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic) VALUES ('Evgenij', 'Filatov', 'Director', '02.09.1979', 'PC-1364'); INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic) VALUES ('Tamara', 'Dolina', 'Worker', '09.11.1991', 'PC-7811'); INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic) VALUES ('Anton', 'Stepanov', 'Worker', '22.01.1992', 'PC-9912'); INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic) VALUES ('Vladimir', 'Kazakov', 'Manager', '01.01.1986', 'PC-4551'); INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic) VALUES ('Svetlana', 'Andreeva', 'Worker', '14.11.1976', 'PC-4651'); INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic) VALUES ('Stepan', 'Kozlov', 'Worker', '09.12.1990', 'PC-6453'); INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic) VALUES ('Ekaterina', 'Loyko', 'Worker', '26.02.1995', 'PC-3451'); INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic) VALUES ('Stanislav', 'Vlasov', 'Security', '31.04.1989', 'PC-1278');";
//создание таблицы техники string createTech = @"DROP TABLE IF EXISTS technics; CREATE TABLE technics( ID INTEGER PRIMARY KEY AUTOINCREMENT, Name TEXT, Inventarized TEXT, Used TEXT, ManufacturedAt TEXT); INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used) VALUES ('PC-1002', 'No','01.02.2011', 'Yes'); INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used) VALUES ('PC-2024', 'No','04.01.2012', 'Yes'); INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used) VALUES ('PC-1206', 'No','23.02.2014', 'Yes'); INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used) VALUES ('PC-3245', 'No','11.10.2014', 'Yes'); INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used) VALUES ('PC-1134', 'No','23.02.2013', 'Yes'); INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used) VALUES ('PC-1890', 'Yes','17.06.2005', 'No'); INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used) VALUES ('PC-1364', 'No','21.11.2012', 'Yes'); INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used) VALUES ('PC-7811', 'No','07.02.2013', 'Yes'); INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used) VALUES ('PC-9912', 'No','01.01.2014', 'Yes'); INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used) VALUES ('PC-4551', 'No','12.07.2012', 'Yes'); INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used) VALUES ('PC-4651', 'No','30.12.2014', 'Yes'); INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used) VALUES ('PC-6453', 'No','29.12.2014', 'Yes'); INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used) VALUES ('PC-6643', 'Yes','12.08.2004', 'No'); INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used) VALUES ('PC-3451', 'No','01.02.2011', 'Yes'); INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used) VALUES ('PC-7777', 'No','11.12.2014', 'No'); INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used) VALUES ('PC-8888', 'No','17.11.2013', 'No'); INSERT INTO Technics(Name, Inventarized, ManufacturedAt, Used) VALUES ('PC-1278', 'No','01.02.2011', 'Yes');";
DBHelper.ExecuteCommand(createEmpl); DBHelper.ExecuteCommand(createTech);
} } }
EmployeeForm.cs { public partial class EmployeeForm: Form { public EmployeeForm() { InitializeComponent(); } //разрешить редактирвоание private void EnableEditing(bool value) { this.txtFirstName.ReadOnly =!value; this.txtLastName.ReadOnly =!value; this.txtBirthDate.ReadOnly =!value; this.txtPosition.ReadOnly =!value; this.txtTechnic.ReadOnly =!value; this.btnApplyEmpl.Visible = value; this.btnBrowseTechnic.Visible = value; this.btnEditEmpl.Visible =!value; } //заполнить поля формы значениями полей открываемого объекта сотрудника public void SetEmployee(Employee employeeToShow, bool newObject) { this.txtFirstName.Text = employeeToShow.FirstName; this.txtLastName.Text = employeeToShow.LastName; this.txtBirthDate.Text = employeeToShow.BirthDate; this.txtPosition.Text = employeeToShow.Position; this.txtTechnic.Text = employeeToShow.Technic;
this.EnableEditing(newObject); this.gridViewTech.Visible = false; this.btnChooseTechnic.Visible = false; this.btnCreateEmpl.Visible = newObject; this.btnApplyEmpl.Visible =!newObject; } //кнопка сохранить private void btnApplyEmpl_Click(object sender, EventArgs e) { this.EnableEditing(false); this.gridViewTech.Visible = false; this.btnChooseTechnic.Visible = false;
DBHelper.ExecuteCommand(String.Format("UPDATE technics SET Used = 'No' WHERE Name = '{0}'", this._currentTechnic));
this.Save(false);
this.gridViewTech.Visible = false; this.btnChooseTechnic.Visible = false; this.Size = new Size(530, 230); this.Close(); } //кнопка изменить private void btnEditEmpl_Click(object sender, EventArgs e) { this.EnableEditing(true); } //кнопка открыть доступную технику private void btnBrowseTechnic_Click(object sender, EventArgs e) { DBHelper.ExecuteAndShowDataGrid(this.gridViewTech, "SELECT * FROM Technics WHERE Inventarized == 'No' AND Used = 'No'"); this.Size = new Size(530, 525); this.gridViewTech.Visible = true; this.btnChooseTechnic.Visible = true; this.btnBrowseTechnic.Visible = false; } //кнопка выбрать private void btnChooseTechnic_Click(object sender, EventArgs e) { this.ChooseTechnic(); } //дабл клик по технике в списке private void gridViewTech_DoubleClick(object sender, EventArgs e) { this.ChooseTechnic(); }
private void ChooseTechnic() { _technic = new Technic(this.gridViewTech.SelectedRows[0]); this.txtTechnic.Text = _technic.Name; }
private Technic _technic = null; private string _currentTechnic = String.Empty; private string _oldFirstName = String.Empty; private string _oldLastName = String.Empty; //событие загрузки формы private void EmployeeForm_Load(object sender, EventArgs e) { this._currentTechnic = this.txtTechnic.Text; this._oldFirstName = this.txtFirstName.Text; this._oldLastName = this.txtLastName.Text; } //кнопка создать private void btnCreateEmpl_Click(object sender, EventArgs e) { this.btnCreateEmpl.Visible = false; this.EnableEditing(false);
this.Save(true); this.Close(); } //кнопка сохранить private void Save(bool isNew) { //если техника была изменена if (_technic!= null) { //если это новый объект, создаем запись в базе DBHelper.ExecuteCommand(String.Format("UPDATE technics SET Used = 'Yes' WHERE ID = {0}", _technic.Oid)); if(isNew) DBHelper.ExecuteCommand(String.Format("INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic) VALUES ('{0}','{1}','{2}','{3}','{4}')", this.txtFirstName.Text, this.txtLastName.Text, this.txtPosition.Text, this.txtBirthDate.Text, _technic.Name)); //иначе редактируем существующую else DBHelper.ExecuteCommand(String.Format("UPDATE employee SET Technic = '{0}', FirstName = '{1}', LastName = '{2}', Position = '{3}', BirthDate = '{4}' WHERE FirstName = '{5}' AND LastName = '{6}'", _technic.Name, this.txtFirstName.Text, this.txtLastName.Text, this.txtPosition.Text, this.txtBirthDate.Text, this._oldFirstName, this._oldLastName)); } else //если это новый объект, создаем запись в базе if(isNew) DBHelper.ExecuteCommand(String.Format("INSERT INTO employee(FirstName, LastName, Position, BirthDate, Technic) VALUES ('{0}','{1}','{2}','{3}','{4}')", this.txtFirstName.Text, this.txtLastName.Text, this.txtPosition.Text, this.txtBirthDate.Text, "")); //иначе редактируем существующую else DBHelper.ExecuteCommand(String.Format("UPDATE employee SET FirstName = '{0}', LastName = '{1}', Position = '{2}', BirthDate = '{3}' WHERE FirstName = '{4}' AND LastName = '{5}'", this.txtFirstName.Text, this.txtLastName.Text, this.txtPosition.Text, this.txtBirthDate.Text, this._oldFirstName, this._oldLastName)); } } }
Дата добавления: 2015-08-31; Просмотров: 211; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |