Файл: Отчет по производственной практике (научноисследовательская работа).docx
Добавлен: 23.11.2023
Просмотров: 177
Скачиваний: 5
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
хранить и удалять информацию, выполнять поиск и фильтрацию по выбранным критериям.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
ПРИЛОЖЕНИЯ
Приложение 1
Листинг программы
Orders.cs
using MaterialSkin.Controls;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace СтройМирЛаб
{
public partial class Orders : MaterialForm
{
public string source =
@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\СтройМирЛаб.mdf;Integrated Security=True;Connect Timeout=30";
public string query = "SELECT dbo.Заказы.ID_Заказа, dbo.Клиенты.ФИО, dbo.Клиенты.Организация, dbo.Продукция.Груз, dbo.Сотрудники.ФИО AS о, dbo.Стоимость_за_расстояние.Расстояние, dbo.Заказы.Кол_во_единиц_измерения, dbo.Продукция.Единица_измерения, dbo.Заказы.Итого_к_сумме, dbo.Заказы.Дата_заказа, dbo.Заказы.Дата_поставки, dbo.Заказы.Статус_оплаты, dbo.Заказы.Адрес_доставки FROM dbo.Заказы INNER JOIN dbo.Клиенты ON dbo.Заказы.Клиенты_FK = dbo.Клиенты.ID_Клиента INNER JOIN dbo.Продукция ON dbo.Заказы.Продукт_FK = dbo.Продукция.ID_Продукции INNER JOIN dbo.Сотрудники ON dbo.Заказы.Сотрудники_FK = dbo.Сотрудники.ID_Сотрудника INNER JOIN dbo.Стоимость_за_расстояние ON dbo.Заказы.Расстояние_FK = dbo.Стоимость_за_расстояние.ID_Расстояние";
bool add_client, edit_client, delete_client;
public string Id_Client;
public int rowIndexClient;
public int deleterowindex;
private SqlConnection sqlConnection = null;
private SqlCommandBuilder sqlBuilder = null;
private SqlDataAdapter sqlDataAdapter1 = null;
private SqlDataAdapter sqlDataAdapter2 = null;
private DataSet dataSet2 = null;
private BindingSource bindingSource = null;
public Orders(int id_sotr)
{
InitializeComponent();
this.id_sotr = id_sotr;
}
public int id_sotr;
private void LoadData()
{
try
{
sqlDataAdapter1 = new SqlDataAdapter("select * from Заказы", sqlConnection);
sqlDataAdapter2 = new SqlDataAdapter(query, sqlConnection);
sqlBuilder = new SqlCommandBuilder(sqlDataAdapter1);
sqlBuilder.GetInsertCommand();
sqlBuilder.GetUpdateCommand();
sqlBuilder.GetDeleteCommand();
dataSet2 = new DataSet();
sqlDataAdapter2.Fill(dataSet2, "Заказы");
bindingSource = new BindingSource();
bindingSource.DataSource = dataSet2.Tables["Заказы"];
clientBindingNavigator.BindingSource = bindingSource;
dataGridView1.DataSource = bindingSource;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void ReloadData()
{
try
{
int rowindex = rowIndexClient;
dataSet2.Tables["Заказы"].Clear();
sqlDataAdapter2.Fill(dataSet2, "Заказы");
bindingSource.DataSource = dataSet2.Tables["Заказы"];
clientBindingNavigator.BindingSource = bindingSource;
dataGridView1.DataSource = bindingSource;
//add , edit bool
if (delete_client)
{
delete_client = false;
if (dataGridView1.Rows.Count - 1 != rowindex) dataGridView1.CurrentCell = dataGridView1.Rows[rowindex].Cells[0];
else if (dataGridView1.Rows.Count > 1) dataGridView1.CurrentCell = dataGridView1.Rows[dataGridView1.Rows.Count - 2].Cells[0];
}
UpdataTextBox();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void UpdataTextBox()
{
int rowindex = -1;
if (dataGridView1.CurrentRow != null) rowindex = dataGridView1.CurrentCell.RowIndex;
if (rowindex >= 0)
{
DataGridViewRow row = dataGridView1.Rows[rowindex];
textBox1.Text = row.Cells[0].Value.ToString();
textBox4.Text = row.Cells[1].Value.ToString();
textBox3.Text = row.Cells[2].Value.ToString();
textBox2.Text = row.Cells[3].Value.ToString();
textBox14.Text = row.Cells[4].Value.ToString();
textBox13.Text = row.Cells[5].Value.ToString();
textBox6.Text = row.Cells[6].Value.ToString();
textBox5.Text = row.Cells[7].Value.ToString();
textBox12.Text = row.Cells[8].Value.ToString();
dateTimePicker1.Text = row.Cells[9].Value.ToString();
dateTimePicker2.Text = row.Cells[10].Value.ToString();
textBox11.Text = row.Cells[12].Value.ToString();
}
else
{
textBox1.Text = null;
textBox4.Text = null;
textBox3.Text = null;
textBox2.Text = null;
textBox14.Text = null;
textBox13.Text = null;
textBox6.Text = null;
textBox5.Text = null;
textBox12.Text = null;
dateTimePicker1.Text = null;
dateTimePicker2.Text = null;
textBox11.Text = null;
}
}
private void dataGridView1_CellStateChanged_1(object sender, DataGridViewCellStateChangedEventArgs e)
{
UpdataTextBox();
}
private void Orders_Shown(object sender, EventArgs e)
{
this.MaximizeBox = false;
}
private void Orders_Load(object sender, EventArgs e)
{
sqlConnection = new SqlConnection(source);
sqlConnection.Open();
LoadData();
clientBindingNavigatorSaveItem.Enabled = false;
DateTime date2000 = new DateTime(2010, 12, 31, 0, 0, 0);
dateTimePicker3.Value = date2000;
dateTimePicker6.Value = date2000;
}
private void materialRaisedButton1_Click(object sender, EventArgs e)
{
string filtering = query + " and Дата_заказа between " + "\'" + dateTimePicker3.Value.ToString("yyyy/MM/dd") + "\'" +
" and " + "\'" + dateTimePicker4.Value.ToString("yyyy/MM/dd") + "\'" +
" and Дата_поставки between " + "\'" + dateTimePicker6.Value.ToString("yyyy/MM/dd") + "\'" +
" and " + "\'" + dateTimePicker5.Value.ToString("yyyy/MM/dd") + "\'";
if (textBox7.Text != "") filtering += " and Продукция.Груз LIKE " + "\'" + textBox7.Text + "%\'";
if (textBox8.Text != "") filtering += " and Клиенты.ФИО LIKE " + "\'" + textBox8.Text + "%\'";
if (textBox9.Text != "") filtering += " and Клиенты.Организация LIKE " + "\'" + textBox9.Text + "%\'";
if (textBox10.Text != "" && textBox15.Text != "") filtering += " and Итого_к_сумме between " + textBox10.Text + " and " + textBox15.Text;
sqlDataAdapter2 = new SqlDataAdapter(filtering, sqlConnection);
sqlBuilder = new SqlCommandBuilder(sqlDataAdapter1);
sqlBuilder.GetInsertCommand();
sqlBuilder.GetUpdateCommand();
sqlBuilder.GetDeleteCommand();
ReloadData();
}
private void materialRaisedButton2_Click(object sender, EventArgs e)
{
sqlDataAdapter2 = new SqlDataAdapter(query, sqlConnection);
ReloadData();
textBox7.Text = null;
textBox8.Text = null;
textBox9.Text = null;
textBox10.Text = null;
textBox15.Text = null;
}
private void toolStripTextBox1_TextChanged(object sender, EventArgs e)
{// Поиск
bindingSource.Filter = "Convert ([ID_Заказа],'System.String') LIKE '" + toolStripTextBox1.Text + "%'";
sqlBuilder = new SqlCommandBuilder(sqlDataAdapter1);
sqlBuilder.GetInsertCommand();
sqlBuilder.GetUpdateCommand();
sqlBuilder.GetDeleteCommand();
}
private void toolStripButton2_Click(object sender, EventArgs e)
{//Добавить запись
using (OrderRegistration orderRegistration = new OrderRegistration(id_sotr,string.Empty))
{
orderRegistration.ShowDialog();
}
}
private void toolStripButton5_Click(object sender, EventArgs e)
{//Редактировать запись
if (dataGridView1.CurrentRow != null)
{
edit_client = true;
using (OrderRegistration orderRegistration = new OrderRegistration(id_sotr, textBox1.Text))
{
orderRegistration.ShowDialog();
}
}
else MessageBox.Show("Таблица пустая", "Информация о редактировании", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void toolStripButton3_Click_1(object sender, EventArgs e)
{//Удалить запись
if (dataGridView1.CurrentRow != null)
{
if (MessageBox.Show("Вы хотите удалить заказ?", "Удаление",
MessageBoxButtons.YesNo, MessageBoxIcon.Question)
== DialogResult.Yes)
{
deleterowindex = dataGridView1.CurrentRow.Index;
var Id_FK = dataGridView1.Rows[deleterowindex].Cells[0].Value;
dataGridView1.Rows.RemoveAt(deleterowindex);
dataSet2.Tables["Заказы"].Rows[deleterowindex].Delete();
try
{
using (var sc = new SqlConnection(source))
using (var cmd = sc.CreateCommand())
{
sc.Open();
cmd.CommandText = "DELETE FROM Заказы WHERE ID_Заказа = @word";
cmd.Parameters.AddWithValue("@word", Id_FK);
cmd.ExecuteNonQuery();
cmd.Dispose();
}
delete_client = true;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
ReloadData();
}
}
else MessageBox.Show("Таблица пустая", "Информация об удалении", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void clientBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{// Сохранить изменения
if (dataGridView1.CurrentRow != null)
{
rowIndexClient = dataGridView1.CurrentCell.RowIndex;
Id_Client = dataGridView1.Rows[rowIndexClient].Cells[0].Value.ToString();
}
}
private void toolStripButton1_Click_1(object sender, EventArgs e)
{//Обновить данные
ReloadData();
}
private void диаграммаToolStripMenuItem_Click(object sender, EventArgs e)
{
Charts сharts = new Charts();
сharts.source = source;
сharts.ShowDialog();
}
private void materialRaisedButton3_Click(object sender, EventArgs e)
{
Report report = new Report();
report.source = source;
report.query = query;
report.sqlDataAdapter1 = sqlDataAdapter2;
report.ShowDialog();
}
private void посчитатьКоличествоКлиентовToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void textBox10_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(Char.IsDigit(e.KeyChar)))
{
if (e.KeyChar != (char)Keys.Back)
{
e.Handled = true;
}
}
}
private void textBox15_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(Char.IsDigit(e.KeyChar)))
{
if (e.KeyChar != (char)Keys.Back)
{
e.Handled = true;
}
}
}
private void сортироватьНомерЗаказаПоУбываниюToolStripMenuItem_Click(object sender, EventArgs e)
{
bindingSource.Sort = "ID_Заказа DESC";
}
private void сортироватьНомерЗаказаПоВозрастаниюToolStripMenuItem_Click(object sender, EventArgs e)
{
bindingSource.Sort = "ID_Заказа ASC";
}
private void сортироватьФамилииКлиентовАЯToolStripMenuItem_Click(object sender, EventArgs e)
{
bindingSource.Sort = "ФИО ASC";
}
private void сортироватьФамилииКлиентовЯАToolStripMenuItem_Click(object sender, EventArgs e)
{
bindingSource.Sort = "ФИО DESC";
}
private void Orders_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = !(MessageBox.Show("Выйти из формы?", "Выход",
MessageBoxButtons.YesNo, MessageBoxIcon.Question)
== DialogResult.Yes);
}
private void Orders_FormClosed(object sender, FormClosedEventArgs e)
{
GC.Collect();
GC.WaitForPendingFinalizers();
}
}
}
Приложение 2
Диаграммы
Рисунок 1 – Диаграмма «Движение выручки»
Рисунок 2 – Диаграмма «Статистика покупок клиентов»
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
-
Агальцов В.П. Базы данных. В 2-х кн. Кн. 2. Распределенные и удаленные базы данных: Учебник / В.П. Агальцов. М.: ИД ФОРУМ: НИЦ Инфра-М, 2019. – 271 с. -
Абрамян М. В. Visual C# на примерах. – М.: БХВ-Петербург, 2016. – 436 c. -
Бьянкуцци, Ф. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования // Ф. Бьянкуцци, Ш. Уорден. – СПб.: Символ-плюс, 2018. – 608 c. -
Вагнер, Б. С# Эффективное программирование // Билл Вагнер. – М.: ЛОРИ, 2017. – 320 c. -
Гергель, В.П. Современные языки и технологии параллельного программирования: Учебник / В.П. Гергель. – М.: МГУ, 2019. – 408 c. -
Ишкова, Э. А. Самоучитель С#. Начала программирования / Э.А. Ишкова. – М.: Наука и техника, 2018. – 496 c. -
Колесников А. П. Методы численного анализа, изложенные на языке формул и алгоритмическом языке C#. – М.: Высшая школа, 2017. – 414 c. -
Рихтер, Д. CLR via C#. Программирование на платформе Microsoft.NET Framework 4.5 на языке C#. – СПб: Питер, 2018. – 896 c. -
Хейлсберг, А. Язык программирования C#. Классика Computers Science / А. Хейлсберг, М. Торгерсен, С. Вилтамут. – СПб.: Питер, 2018. – 784 c. -
Диаграмма вариантов использования: [Электронный ресурс]. URL: https://www.sites.google.com/site/metodsybd/blok-4-sredstvaproektirovania/4-1-diagramma-variantov-ispolzovania.html (дата обращения: 03.04.2022). -
Алгоритмы редактирования: [Электронный ресурс]. URL: https://robotlandia.ru/abct2/0206add1.html (дата обращения: 15.04.2022). -
Методы и способы устранения ошибок: [Электронный ресурс]. URL: https://studwood.ru/1586509/tovarovedenie/metody_sposoby_ustraneniya_oshibok.html (дата обращения: 6.05.2022).
ПРИЛОЖЕНИЯ
Приложение 1
Листинг программы
Orders.cs
using MaterialSkin.Controls;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace СтройМирЛаб
{
public partial class Orders : MaterialForm
{
public string source =
@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\СтройМирЛаб.mdf;Integrated Security=True;Connect Timeout=30";
public string query = "SELECT dbo.Заказы.ID_Заказа, dbo.Клиенты.ФИО, dbo.Клиенты.Организация, dbo.Продукция.Груз, dbo.Сотрудники.ФИО AS о, dbo.Стоимость_за_расстояние.Расстояние, dbo.Заказы.Кол_во_единиц_измерения, dbo.Продукция.Единица_измерения, dbo.Заказы.Итого_к_сумме, dbo.Заказы.Дата_заказа, dbo.Заказы.Дата_поставки, dbo.Заказы.Статус_оплаты, dbo.Заказы.Адрес_доставки FROM dbo.Заказы INNER JOIN dbo.Клиенты ON dbo.Заказы.Клиенты_FK = dbo.Клиенты.ID_Клиента INNER JOIN dbo.Продукция ON dbo.Заказы.Продукт_FK = dbo.Продукция.ID_Продукции INNER JOIN dbo.Сотрудники ON dbo.Заказы.Сотрудники_FK = dbo.Сотрудники.ID_Сотрудника INNER JOIN dbo.Стоимость_за_расстояние ON dbo.Заказы.Расстояние_FK = dbo.Стоимость_за_расстояние.ID_Расстояние";
bool add_client, edit_client, delete_client;
public string Id_Client;
public int rowIndexClient;
public int deleterowindex;
private SqlConnection sqlConnection = null;
private SqlCommandBuilder sqlBuilder = null;
private SqlDataAdapter sqlDataAdapter1 = null;
private SqlDataAdapter sqlDataAdapter2 = null;
private DataSet dataSet2 = null;
private BindingSource bindingSource = null;
public Orders(int id_sotr)
{
InitializeComponent();
this.id_sotr = id_sotr;
}
public int id_sotr;
private void LoadData()
{
try
{
sqlDataAdapter1 = new SqlDataAdapter("select * from Заказы", sqlConnection);
sqlDataAdapter2 = new SqlDataAdapter(query, sqlConnection);
sqlBuilder = new SqlCommandBuilder(sqlDataAdapter1);
sqlBuilder.GetInsertCommand();
sqlBuilder.GetUpdateCommand();
sqlBuilder.GetDeleteCommand();
dataSet2 = new DataSet();
sqlDataAdapter2.Fill(dataSet2, "Заказы");
bindingSource = new BindingSource();
bindingSource.DataSource = dataSet2.Tables["Заказы"];
clientBindingNavigator.BindingSource = bindingSource;
dataGridView1.DataSource = bindingSource;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void ReloadData()
{
try
{
int rowindex = rowIndexClient;
dataSet2.Tables["Заказы"].Clear();
sqlDataAdapter2.Fill(dataSet2, "Заказы");
bindingSource.DataSource = dataSet2.Tables["Заказы"];
clientBindingNavigator.BindingSource = bindingSource;
dataGridView1.DataSource = bindingSource;
//add , edit bool
if (delete_client)
{
delete_client = false;
if (dataGridView1.Rows.Count - 1 != rowindex) dataGridView1.CurrentCell = dataGridView1.Rows[rowindex].Cells[0];
else if (dataGridView1.Rows.Count > 1) dataGridView1.CurrentCell = dataGridView1.Rows[dataGridView1.Rows.Count - 2].Cells[0];
}
UpdataTextBox();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void UpdataTextBox()
{
int rowindex = -1;
if (dataGridView1.CurrentRow != null) rowindex = dataGridView1.CurrentCell.RowIndex;
if (rowindex >= 0)
{
DataGridViewRow row = dataGridView1.Rows[rowindex];
textBox1.Text = row.Cells[0].Value.ToString();
textBox4.Text = row.Cells[1].Value.ToString();
textBox3.Text = row.Cells[2].Value.ToString();
textBox2.Text = row.Cells[3].Value.ToString();
textBox14.Text = row.Cells[4].Value.ToString();
textBox13.Text = row.Cells[5].Value.ToString();
textBox6.Text = row.Cells[6].Value.ToString();
textBox5.Text = row.Cells[7].Value.ToString();
textBox12.Text = row.Cells[8].Value.ToString();
dateTimePicker1.Text = row.Cells[9].Value.ToString();
dateTimePicker2.Text = row.Cells[10].Value.ToString();
textBox11.Text = row.Cells[12].Value.ToString();
}
else
{
textBox1.Text = null;
textBox4.Text = null;
textBox3.Text = null;
textBox2.Text = null;
textBox14.Text = null;
textBox13.Text = null;
textBox6.Text = null;
textBox5.Text = null;
textBox12.Text = null;
dateTimePicker1.Text = null;
dateTimePicker2.Text = null;
textBox11.Text = null;
}
}
private void dataGridView1_CellStateChanged_1(object sender, DataGridViewCellStateChangedEventArgs e)
{
UpdataTextBox();
}
private void Orders_Shown(object sender, EventArgs e)
{
this.MaximizeBox = false;
}
private void Orders_Load(object sender, EventArgs e)
{
sqlConnection = new SqlConnection(source);
sqlConnection.Open();
LoadData();
clientBindingNavigatorSaveItem.Enabled = false;
DateTime date2000 = new DateTime(2010, 12, 31, 0, 0, 0);
dateTimePicker3.Value = date2000;
dateTimePicker6.Value = date2000;
}
private void materialRaisedButton1_Click(object sender, EventArgs e)
{
string filtering = query + " and Дата_заказа between " + "\'" + dateTimePicker3.Value.ToString("yyyy/MM/dd") + "\'" +
" and " + "\'" + dateTimePicker4.Value.ToString("yyyy/MM/dd") + "\'" +
" and Дата_поставки between " + "\'" + dateTimePicker6.Value.ToString("yyyy/MM/dd") + "\'" +
" and " + "\'" + dateTimePicker5.Value.ToString("yyyy/MM/dd") + "\'";
if (textBox7.Text != "") filtering += " and Продукция.Груз LIKE " + "\'" + textBox7.Text + "%\'";
if (textBox8.Text != "") filtering += " and Клиенты.ФИО LIKE " + "\'" + textBox8.Text + "%\'";
if (textBox9.Text != "") filtering += " and Клиенты.Организация LIKE " + "\'" + textBox9.Text + "%\'";
if (textBox10.Text != "" && textBox15.Text != "") filtering += " and Итого_к_сумме between " + textBox10.Text + " and " + textBox15.Text;
sqlDataAdapter2 = new SqlDataAdapter(filtering, sqlConnection);
sqlBuilder = new SqlCommandBuilder(sqlDataAdapter1);
sqlBuilder.GetInsertCommand();
sqlBuilder.GetUpdateCommand();
sqlBuilder.GetDeleteCommand();
ReloadData();
}
private void materialRaisedButton2_Click(object sender, EventArgs e)
{
sqlDataAdapter2 = new SqlDataAdapter(query, sqlConnection);
ReloadData();
textBox7.Text = null;
textBox8.Text = null;
textBox9.Text = null;
textBox10.Text = null;
textBox15.Text = null;
}
private void toolStripTextBox1_TextChanged(object sender, EventArgs e)
{// Поиск
bindingSource.Filter = "Convert ([ID_Заказа],'System.String') LIKE '" + toolStripTextBox1.Text + "%'";
sqlBuilder = new SqlCommandBuilder(sqlDataAdapter1);
sqlBuilder.GetInsertCommand();
sqlBuilder.GetUpdateCommand();
sqlBuilder.GetDeleteCommand();
}
private void toolStripButton2_Click(object sender, EventArgs e)
{//Добавить запись
using (OrderRegistration orderRegistration = new OrderRegistration(id_sotr,string.Empty))
{
orderRegistration.ShowDialog();
}
}
private void toolStripButton5_Click(object sender, EventArgs e)
{//Редактировать запись
if (dataGridView1.CurrentRow != null)
{
edit_client = true;
using (OrderRegistration orderRegistration = new OrderRegistration(id_sotr, textBox1.Text))
{
orderRegistration.ShowDialog();
}
}
else MessageBox.Show("Таблица пустая", "Информация о редактировании", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void toolStripButton3_Click_1(object sender, EventArgs e)
{//Удалить запись
if (dataGridView1.CurrentRow != null)
{
if (MessageBox.Show("Вы хотите удалить заказ?", "Удаление",
MessageBoxButtons.YesNo, MessageBoxIcon.Question)
== DialogResult.Yes)
{
deleterowindex = dataGridView1.CurrentRow.Index;
var Id_FK = dataGridView1.Rows[deleterowindex].Cells[0].Value;
dataGridView1.Rows.RemoveAt(deleterowindex);
dataSet2.Tables["Заказы"].Rows[deleterowindex].Delete();
try
{
using (var sc = new SqlConnection(source))
using (var cmd = sc.CreateCommand())
{
sc.Open();
cmd.CommandText = "DELETE FROM Заказы WHERE ID_Заказа = @word";
cmd.Parameters.AddWithValue("@word", Id_FK);
cmd.ExecuteNonQuery();
cmd.Dispose();
}
delete_client = true;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
ReloadData();
}
}
else MessageBox.Show("Таблица пустая", "Информация об удалении", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void clientBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{// Сохранить изменения
if (dataGridView1.CurrentRow != null)
{
rowIndexClient = dataGridView1.CurrentCell.RowIndex;
Id_Client = dataGridView1.Rows[rowIndexClient].Cells[0].Value.ToString();
}
}
private void toolStripButton1_Click_1(object sender, EventArgs e)
{//Обновить данные
ReloadData();
}
private void диаграммаToolStripMenuItem_Click(object sender, EventArgs e)
{
Charts сharts = new Charts();
сharts.source = source;
сharts.ShowDialog();
}
private void materialRaisedButton3_Click(object sender, EventArgs e)
{
Report report = new Report();
report.source = source;
report.query = query;
report.sqlDataAdapter1 = sqlDataAdapter2;
report.ShowDialog();
}
private void посчитатьКоличествоКлиентовToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void textBox10_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(Char.IsDigit(e.KeyChar)))
{
if (e.KeyChar != (char)Keys.Back)
{
e.Handled = true;
}
}
}
private void textBox15_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(Char.IsDigit(e.KeyChar)))
{
if (e.KeyChar != (char)Keys.Back)
{
e.Handled = true;
}
}
}
private void сортироватьНомерЗаказаПоУбываниюToolStripMenuItem_Click(object sender, EventArgs e)
{
bindingSource.Sort = "ID_Заказа DESC";
}
private void сортироватьНомерЗаказаПоВозрастаниюToolStripMenuItem_Click(object sender, EventArgs e)
{
bindingSource.Sort = "ID_Заказа ASC";
}
private void сортироватьФамилииКлиентовАЯToolStripMenuItem_Click(object sender, EventArgs e)
{
bindingSource.Sort = "ФИО ASC";
}
private void сортироватьФамилииКлиентовЯАToolStripMenuItem_Click(object sender, EventArgs e)
{
bindingSource.Sort = "ФИО DESC";
}
private void Orders_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = !(MessageBox.Show("Выйти из формы?", "Выход",
MessageBoxButtons.YesNo, MessageBoxIcon.Question)
== DialogResult.Yes);
}
private void Orders_FormClosed(object sender, FormClosedEventArgs e)
{
GC.Collect();
GC.WaitForPendingFinalizers();
}
}
}
Приложение 2
Диаграммы
Рисунок 1 – Диаграмма «Движение выручки»
Рисунок 2 – Диаграмма «Статистика покупок клиентов»