Данное тестирование позволило удостовериться в корректности работы программы. В приложении учтены основные ошибки ввода пользователей. ЗАКЛЮЧЕНИЕ
В ходе выполнения курсовой работы был разработан программный продукт, позволяющий вести учёт заявок авиабилетов. Закреплены понятия объектно-ориентированного программирования, объектно-ориентированного анализа и объектно-ориентированного подхода, навыки по программированию в объектно-ориентированной среде, а также в построении диаграмм и тестировании. Программа соответствует поставленной задаче и выполняет все указанные в ней требования. Ошибок и перегрузок не обнаружено, все исключительные ситуации учтены и прописаны в коде программы.
СПИСОК ЛИТЕРАТУРЫ
1.Леоненков А.В. Самоучитель UML.-СПб.: БХВ-Петербург,2001.-304с.
2.Павловская Т.А. C#. Программирование на языке высокого уровня. Учебник для вузов.-СПб.: Питер, 2007.-432с.
3.Эндрю Троелсен. Язык программирования C# 2010 и платформа .NET 4.0— 5-е изд. — М.: Вильямс, 2010. — 1392 с.
4.Герберт Шилдт C# 4.0: полное руководство. - М.: «Вильямс», 2010. — 1056 с.
5.Кристиан Нейгел, Карли Уотсон и др. Visual C# 2010: полный курс. - М.: Диалектика, 2010.
6.Трей Нэш C# 2010: ускоренный курс для профессионалов.- М.: Вильямс, 2010. — 592 с.
7.Кристиан Гросс Самоучитель по C# ; БХВ Петербург, 2009 г. 576 с.
8.http://sharp-generation.narod.ru/C_Sharp/prinzips.html - Интернет ресурс
ПРИЛОЖЕНИЕ А
Form2.cs (частично)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
namespace PR2
{
public partial class Form2 : Form
{
private OleDbConnection connection = new OleDbConnection();
Form1 _f1;
public Form2(Form1 f1_)
{
InitializeComponent();
this._f1 = f1_;
label8.Text = "Приветствую, " + this._f1.userName;
connection.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Files\NPI\2 курс\Программная инженерия - Курсовая\Sklad_produktov_pitania_Rabochaya.mdb;User Id=admin;
Password=;;";
}
private void Form2_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу "sklad_produktov_pitania_RabochayaDataSet13.Должности". При необходимости она может быть перемещена или удалена.
this.должностиTableAdapter.Fill(this.sklad_produktov_pitania_RabochayaDataSet13.Должности);
// TODO: данная строка кода позволяет загрузить данные в таблицу "sklad_produktov_pitania_RabochayaDataSet12.Комбобоксы". При необходимости она может быть перемещена или удалена.
this.комбобоксыTableAdapter.Fill(this.sklad_produktov_pitania_RabochayaDataSet12.Комбобоксы);
// TODO: данная строка кода позволяет загрузить данные в таблицу "sklad_produktov_pitania_RabochayaDataSet2.UserInfo". При необходимости она может быть перемещена или удалена.
this.userInfoTableAdapter.Fill(this.sklad_produktov_pitania_RabochayaDataSet2.UserInfo);
// TODO: данная строка кода позволяет загрузить данные в таблицу "sklad_produktov_pitania_RabochayaDataSet2.Расход_товары". При необходимости она может быть перемещена или удалена.
this.расход_товарыTableAdapter.Fill(this.sklad_produktov_pitania_RabochayaDataSet2.Расход_товары);
// TODO: данная строка кода позволяет загрузить данные в таблицу "sklad_produktov_pitania_RabochayaDataSet2.Расход". При необходимости она может быть перемещена или удалена.
this.расходTableAdapter.Fill(this.sklad_produktov_pitania_RabochayaDataSet2.Расход);
// TODO: данная строка кода позволяет загрузить данные в таблицу "sklad_produktov_pitania_RabochayaDataSet2.Приходы_Товары". При необходимости она может быть перемещена или удалена.
this.приходы_ТоварыTableAdapter.Fill(this.sklad_produktov_pitania_RabochayaDataSet2.Приходы_Товары);
// TODO: данная строка кода позволяет загрузить данные в таблицу "sklad_produktov_pitania_RabochayaDataSet2.Приход". При необходимости она может быть перемещена или удалена.
this.приходTableAdapter.Fill(this.sklad_produktov_pitania_RabochayaDataSet2.Приход);
// TODO: данная строка кода позволяет загрузить данные в таблицу "sklad_produktov_pitania_RabochayaDataSet2.Сотрудники". При необходимости она может быть перемещена или удалена.
this.сотрудникиTableAdapter.Fill(this.sklad_produktov_pitania_RabochayaDataSet2.Сотрудники);
// TODO: данная строка кода позволяет загрузить данные в таблицу "sklad_produktov_pitania_RabochayaDataSet2.Клиенты". При необходимости она может быть перемещена или удалена.
this.клиентыTableAdapter.Fill(this.sklad_produktov_pitania_RabochayaDataSet2.Клиенты);
// TODO: данная строка кода позволяет загрузить данные в таблицу "sklad_produktov_pitania_RabochayaDataSet2.Тара_и_Упаковка". При необходимости она может быть перемещена или удалена.
this.тара_и_УпаковкаTableAdapter.Fill(this.sklad_produktov_pitania_RabochayaDataSet2.Тара_и_Упаковка);
// TODO: данная строка кода позволяет загрузить данные в таблицу "sklad_produktov_pitania_RabochayaDataSet2.Единицы_измерения". При необходимости она может быть перемещена или удалена.
this.единицы_измеренияTableAdapter.Fill(this.sklad_produktov_pitania_RabochayaDataSet2.Единицы_измерения);
// TODO: данная строка кода позволяет загрузить данные в таблицу "sklad_produktov_pitania_RabochayaDataSet2.Классификация". При необходимости она может быть перемещена или удалена.
this.классификацияTableAdapter.Fill(this.sklad_produktov_pitania_RabochayaDataSet2.Классификация);
// TODO: данная строка кода позволяет загрузить данные в таблицу "sklad_produktov_pitania_RabochayaDataSet2.Производитель". При необходимости она может быть перемещена или удалена.
this.производительTableAdapter1.Fill(this.sklad_produktov_pitania_RabochayaDataSet2.Производитель);
// TODO: данная строка кода позволяет загрузить данные в таблицу "sklad_produktov_pitania_RabochayaDataSet2.Товары". При необходимости она может быть перемещена или удалена.
this.товарыTableAdapter1.Fill(this.sklad_produktov_pitania_RabochayaDataSet2.Товары);
}
private void button2_Click(object sender, EventArgs e)
{
try
{
connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
string query = "update Товары set Наименование='" + textBox3.Text + "' , Цена='" + textBox4.Text + "', Производитель='" + comboBox1.Text + "', Единица='" + comboBox2.Text + "', Классификация='" + comboBox3.Text + "', Упаковка='" + comboBox4.Text + "', Количество='" + textBox48.Text + "' where Номер=" + textBox2.Text + "";
command.CommandText = query;
command.ExecuteNonQuery();
MessageBox.Show("Данные успешно изменены");
connection.Close();
}
catch (Exception ex)
{
MessageBox.Show("Ошибка " + ex);
}
}
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
DataGridViewCell cell = null;
foreach (DataGridViewCell selectedCell in dataGridView1.SelectedCells)
{
cell = selectedCell;
break;
}
if (cell != null)
{
DataGridViewRow row = cell.OwningRow;
textBox2.Text = row.Cells[0].Value.ToString();
textBox3.Text = row.Cells[1].Value.ToString();
textBox4.Text = row.Cells[2].Value.ToString();
comboBox1.Text = row.Cells[3].Value.ToString();
comboBox2.Text = row.Cells[4].Value.ToString();
comboBox3.Text = row.Cells[5].Value.ToString();
comboBox4.Text = row.Cells[6].Value.ToString();
textBox48.Text = row.Cells[7].Value.ToString();
}
}
private void button3_Click(object sender, EventArgs e)
{
try
{
connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
string query = "delete from Товары where Номер=" + textBox2.Text + "";
command.CommandText = query;
command.ExecuteNonQuery();
MessageBox.Show("Данные удалены");
connection.Close();
}
catch (Exception ex)
{
MessageBox.Show("Ошибка " + ex);
}
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
try
{
connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
command.CommandText = "insert into Товары (Номер,Наименование,Цена,Производитель,Единица,Классификация,Упаковка,Количество) values('" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + comboBox1.Text + "','" + comboBox2.Text + "','" + comboBox3.Text + "','" + comboBox4.Text + "','" + textBox48.Text + "')";
command.ExecuteNonQuery();
MessageBox.Show("Данные сохранены");
connection.Close();
}
catch (Exception ex)
{
MessageBox.Show("Ошибка " + ex);
}
}
private void выходToolStripMenuItem_Click_1(object sender, EventArgs e)
{
this.Hide();
}
private void оПрограммеToolStripMenuItem1_Click(object sender, EventArgs e)
{
Form4 F4 = new Form4(this);
F4.ShowDialog();
}
private void справкаToolStripMenuItem_Click(object sender, EventArgs e)
{
Spravka F3 = new Spravka(this);
F3.ShowDialog();
}
private void button4_Click(object sender, EventArgs e)
{
try
{
connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
string query = "select Номер,Наименование,Цена,Производитель,Единица,Классификация,Упаковка,Количество from Товары";
command.CommandText = query;
OleDbDataAdapter da = new OleDbDataAdapter(command);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
connection.Close();
}
catch (Exception ex)
{
MessageBox.Show("Ошибка " + ex);
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (comboBox8.Text == "номеру")
{
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
OleDbDataAdapter oda = new OleDbDataAdapter("select Номер,Наименование,Цена,Производитель,Единица,Классификация,Упаковка from Товары where Номер like '" + textBox1.Text + "%'", connection);
DataTable dt = new DataTable();
oda.Fill(dt);
dataGridView1.DataSource = dt;
}
else if (comboBox8.Text == "названию")
{
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
OleDbDataAdapter oda = new OleDbDataAdapter("select Номер,Наименование,Цена,Производитель,Единица,Классификация,Упаковка from Товары where Наименование like '" + textBox1.Text + "%'", connection);
DataTable dt = new DataTable();
oda.Fill(dt);
dataGridView1.DataSource = dt;
}
else if (comboBox8.Text == "цене")
{
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
OleDbDataAdapter oda = new OleDbDataAdapter("select Номер,Наименование,Цена,Производитель,Единица,Классификация,Упаковка from Товары where Цена like '" + textBox1.Text + "%'", connection);
DataTable dt = new DataTable();
oda.Fill(dt);
dataGridView1.DataSource = dt;
}
else if (comboBox8.Text == "производителю")
{
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
OleDbDataAdapter oda = new OleDbDataAdapter("select Номер,Наименование,Цена,Производитель,Единица,Классификация,Упаковка from Товары where Производитель like '" + textBox1.Text + "%'", connection);
DataTable dt = new DataTable();
oda.Fill(dt);
dataGridView1.DataSource = dt;
}
else if (comboBox8.Text == "классификации")
{
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
OleDbDataAdapter oda = new OleDbDataAdapter("select Номер,Наименование,Цена,Производитель,Единица,Классификация,Упаковка from Товары where Классификация like '" + textBox1.Text + "%'", connection);
DataTable dt = new DataTable();
oda.Fill(dt);
dataGridView1.DataSource = dt;
}
else if (comboBox8.Text == "упаковке")
{
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
OleDbDataAdapter oda = new OleDbDataAdapter("select Номер,Наименование,Цена,Производитель,Единица,Классификация,Упаковка from Товары where Упаковка like '" + textBox1.Text + "%'", connection);
DataTable dt = new DataTable();
oda.Fill(dt);
dataGridView1.DataSource = dt;
}
}
}
Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
namespace PR2
{
public partial class Form1 : Form
{
public string userName { get; private set ; }
private OleDbConnection connection = new OleDbConnection();
public Form1()
{
InitializeComponent();
connection.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Files\NPI\2 курс\Программная инженерия - Курсовая\Sklad_produktov_pitania_Rabochaya.mdb;User Id=admin;
Password=;;";
}
private void Form1_Load(object sender, EventArgs e)
{
try
{
connection.Open();
checkConnection.Text = "Соединение c базой данных установлено";
connection.Close();
}
catch (Exception ex)
{
MessageBox.Show("Ошибка " + ex);
}
}
private void btn_Login_Click(object sender, EventArgs e)
{
{
connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
command.CommandText = "select * from UserInfo where Юзернейм='" + txt_Username.Text + "' and Пассворд='" + txt_Password.Text + "' ";
OleDbDataReader reader = command.ExecuteReader();
int count = 0;
while (reader.Read())
{
count = count + 1;
}
if (count == 1)
{
MessageBox.Show("Вы успешно вошли в систему");
userName = txt_Username.Text;
connection.Close();
connection.Dispose();
this.Hide();
Form2 f2 = new Form2(this);
f2.ShowDialog();
}
else if (count > 1)
{
MessageBox.Show("Дубликат имени и пароля");
}
else
{
MessageBox.Show("Неверное сочетание логина и пароля");
}
connection.Close();
}
}
private void button1_Click(object sender, EventArgs e)
{
try
{
connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
command.CommandText = "insert into UserInfo (Юзернейм,Пассворд) values('" + txt_Username + "','" + txt_Password + "')";
command.ExecuteNonQuery();
MessageBox.Show("Вы успешно зарегистрировались");
connection.Close();
}
catch (Exception ex)
{
MessageBox.Show("Ошибка " + ex);
}
}
}
}
Form4.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace PR2
{
public partial class Form4 : Form
{
Form2 F2;
public Form4(Form2 F2_)
{
this.F2 = F2_;
InitializeComponent();
}
private void Form4_Load(object sender, EventArgs e)
{
}
}
}
Spravka.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace PR2
{
public partial class Spravka : Form
{
Form2 F2;
public Spravka(Form2 F2_)
{
this.F2 = F2_;
InitializeComponent();
}
}
}