Роздрукувати сторінку
Главная \ Методичні вказівки \ Методичні вказівки \ 2479 Курсова робота з дисципліни Організація баз даних та знань, НТУУ КПІ

Курсова робота з дисципліни Організація баз даних та знань, НТУУ КПІ

« Назад

Національний технічний університет України

«Київський політехнічний інститут»

Кафедра автоматизованих систем обробки інформації і управління

___________________________________________________

 

Курсова робота з дисципліни Організація баз даних та знань

 

Виконав:

Група:

Варіант: 

Керівник:

Поліщук А. О.

ІС-21

34 

ас. Родічева О.С.

 

Завдання

на курсову роботу по дисципліні "Організація баз даних та знань"

фахове спрямування -
"Інформаційні управляючі системи та технології"
напрям 6.050101 "Комп'ютерні науки"
Група ІС-21 

(п.і.б.)___________________________________ 

Тема Курсової роботи:

Дата представлення роботи до захисту до «____ » 20__ р. 

 

Завдання видано:

 

 

Дата:

«___»____________20__ р.

 

Керівник:

(Родічева О.С)

 

Зміст

Вступ. 4

Мета. 4

Предметна область. 4

1. Аналіз предметної області 5

2. Обґрунтування вибору бази даних та засобів розробки прикладного програмного продукту. 6

3. Алгоритм розв’язання завдання. 7

Запити для додавання даних. 8

Запити на оновлення даних. 9

Прості запити на вибірку. 10

Групуючі запити. 10

Запити з використанням з'єднань. 11

4. Опис програми для редагування бази даних та виведення звіту. 11

Висновки. 13

Список літератури. 15

Додаток. 16

Лістинг програми. 16 

Вступ

Мета

Метою даної курсової роботи є:

  • поглиблення і закріплення теоретичних знань з дисципліни «Організація баз даних та знань»;

  • набуття вмінь аналізувати опрацьований матеріал;

  • набуття навиків створення узагальнень та висновків;

  • набуття практичних навичок у поєднанні бази даних із програмним застосуванням 

Предметна область 

В даній курсовій роботі описана розробка застосування, що буде автоматизувати процес продажу залізничних квитків. Нижче наведена повна умова завдання:

Продаж залізничних квитків здійснюється таким чином. Клієнт запрошує наявність квитків на певну дату і напрям, від початкової до кінечної станції, додатково вказуючи бажаний тип вагону (купе, плацкарт і так далі). Касир здійснює пошук в базі по вказаних атрибутах, і повідомляє клієнтові можливі варіанти, які блокуються до закінчення операції. Клієнт вибирає з можливих варіантів квиток, після чого касир вносить дані до бази і отримує гроші за квиток.

Дані, введені касиром, потрапляють у базу даних у центральному апараті, що унеможливлює продажу одного і того ж квитка різним пасажирам. 

У разі здачі квитка касир повертає клієнту гроші (за вирахуванням деякої пені), і забирає оформлений квиток, після чого позначає даний квиток як незайнятий. 

1. Аналіз предметної області 

Важливу роль в розробці програмних засобів займає аналіз предметної області, проектування системи, розробка схеми бази даних. Від цього етапу розробки залежить швидкодія застосування та коректність виведення результатів.

В даному завданні, для початку, потрібно виділити сутності та створити ER-діаграму.

Нижче наведені сутності та їх властивості:

  • Рейс

- Назва рейсу

- Кількість вагонів

- Дата виїзду

- Дата прибуття

  • Вагон

- Номер вагону

- Тип вагону

  • Квиток

- Номер квитка

- Ціна

- Статус квитка

  • Клієнт

- Ім’я

- Прізвище

- Номер телефону

  • Пільги

- Тип пільги

- Розмір знижки

  • Скасування квитка

- Штраф за скасування 

На основі аналізу, можна побудувати ER-діаграму, представлену на рисунку 1. 

Рис. 1. ER-діаграма предметної області

2. Обґрунтування вибору бази даних та засобів розробки прикладного програмного продукту 

Для даної розробки не потрібно дорогої комерційної бази даних. Оскільки об’єми інформації не дуже великі і буде створено тільки 6 таблиць в базі даних.
Щоб виконати дане завдання, було обрано базу даних MsSql та середовище розробки Microsoft Visual Studio 2012. Оскільки програмний продукт не комерційний, то використання цих засобів є безкоштовним.
Переваги MsSql:
- безкоштовна;
- підтримка розміру файлу бази даних до 4 гігабайт;
- нема обмеження на кількість ядер процесора;
- прекрасна взаємодія з Microsoft Visual Studio чи іншими середовищами розробки для C#.
Виходячи з обраних інструментів для розробки, можна сформулювати апаратні та програмні вимоги до комп’ютерів, на які буде встановлений програмний продукт.
Апаратні вимоги:
- процесор з частотою від 1 Гц;
- об’єм оперативної пам’яті від 1 Гб;
- монітор з роздільною здатністю більше, ніж 1024*768.
Вимоги до встановленого програмного забезпечення:
- операційна система будь-яка;
- .середовище виконання для C#:
- MsSql server.
Програма була створена з допомогою Windows Forms на MS Visual Studio 2012.

3. Алгоритм розв’язання завдання 

  • Купівля квитка:

- Вибір необхідного рейсу

- Виведення вільних квитків на заданий рейс

- Вибір будь-якого з вільних квитків

- Введення необхідної інформації про особу

- Якщо особа має пільгу: надати певну знижку 

  • Скасування квитка:

- Введення персональної інформації

- Виведення всіх квитків що придбала особа

- Вибір необхідного квитка

- Якщо квиток був куплений зі знижкою: повернути гроші з урахуванням штрафу за здачу квитка

  • Додавання рейсу:

- Ввести інформацію щодо рейсу

- Додати такий рейс в базу даних

- Додати необхідну кількість вагонів до бази даних

- Додати необхідну кількість квитків до бази даних 

Нижче наведені запити, які виконує програма до бази даних: 

Запити для додавання даних 

- Додавання рейсу в базу даних

string com_insert = "INSERT INTO passage(passage_name,passage_number_wagons,passage_date_start,passage_date_finish) VALUES('"+ name +"','"+ number_wagons +"','" + date_start + "','" + date_arrive + "')";

- Додавання вагонів в базу даних

string com_insert = "INSERT INTO wagon(wagon_number,wagon_type,passage_id) VALUES('" + wagon + "','Купе','" + id_passage + "')";

- Додавання квитків до бази

string com_insert_ticket = "INSERT INTO ticket(ticket_number,ticket_price,ticket_status,wagon_id) VALUES('" + number_ticket + "','" + price[і] + "','0','" + id_wagon + "')"; 

Рис. 2 - Форма введення даних

Рис. 3- Введенні дані: Рейс, вагони та квитки відповідно 

Запити на оновлення даних 

Оновлення статусу квитка та коду клієнта при покупці

string com_update_ticket = "UPDATE ticket SET client_id = '" + id_client + "',ticket_status = '1' WHERE ticket_id ='" + id_ticket + "'"; 

Рис. 4 - Результат після оновлення даних

Прості запити на вибірку 

Обирає всі квитки які куплені і прив‘язані до особи

SELECT * FROM ticket WHERE ticket_status = 1 AND client_id = '" + id_client + "'

Обирає необхідне поле з таблиці Рейси за ключем

SELECT " + value + " FROM passage  WHERE passage_id = '" + temp + "'

Групуючі запити

Обрати всі рейси

SELECT passage_name FROM passage GROUP BY passage_name 

Рис. 5 – Список рейсів

Обрати всі пільги

SELECT benefit_type FROM benefit GROUP BY benefit_type 

Рис. 6 – Можливі пільги 

Запити з використанням з'єднань 

Обирає рейс за кодом квитка

SELECT passage_id FROM wagon JOIN ticket WHERE wagon.wagon_id = ticket.wagon_id AND ticket.ticket_id = '" + id + "'

4. Опис програми для редагування бази даних та виведення звіту

Для редагування БД було розроблено програму на С#.

Як буде показано на screenshot-ах, запити на вибірку а також заповнення таблиць завжди відбуваються автоматично. Деякі з них були описані вище.

Процес купівлі квитка: 

Рис. 7. – Вільні квитки на заданий рейс 

Рис. 8. – Введення інформації про клієнта під час купівлі квитка 

Рис. 9. – Покупець занесений в базу 

Рис.10. – Дані про квиток теж змінені

Розглянемо процес скасування квитка: 

Рис. 11. – Введення даних про клієнта та виведення всіх квитків які він купив 

Рис. 12 – Підтвердження дії 

Рис.13. – Успішне виконання операції

Також програма формує звіт: 

Рис. 14. – Звіт про купівлю та скасування квитків

Висновки 

В ході виконання курсової роботи, був здійснений аналіз предметної області, після чого створена ER-діаграма. На основі якої побудована база даних.

При створенні системи були використані база даних MS SQL та середовище розробки Microsoft Visual Studio 2012. В даній курсовій роботі була розроблена база даних з таблицями, які містять дані про:

- Квитки на потяг

- Інформацію про покупців

- Інформацію про рейси

Для редагування таблиць в базі даних було розроблено програму.

В самій програмі реалізовані перевірки на коректність введення даних і в базі даних здійснюється контроль коректності збереження.

При виконанні курсової роботи були використані запити, які дозволяли дізнаватися кількість записів у таблиці, робити вибірку даних за умовами, виконувати сортування даних за вказаними полями.

В подальшому дану систему можна модифікувати, додавши функціональності. Це дозволяє зробити використана СУБД.

Також я здобув досвід аналізування певної предметної області та поглибив знання з дисципліни «Організація баз даних та знань».

Отже, поставлена на початку виконання курсової роботи мета виконана.

Список літератури 

  1. Гарсиа-Молина, Гектор, Ульман, Джеффри, Д., Уидом,ДженниферСистемы баз данных. Полный курс.: Пер.с англ. – М. : Издательскийдом “Вильямс”, 2003. – 1088 с. : ил. – Парал. тит. англ.

  2. Ульман Дж. Основы систем баз данных. Пер.с англ. – М.: Финансы и статистика, 1983. – 334 стр.

  3. Проектирование и реализация баз даннях MicrosoftSQLServer 2000. Учебный курс Microsoft / Пер.с англ. – 3-е изд. – М.: Издательско-торговыйдом «Русскаяредакция»; СПб.: Питер, 2006. – 512 стр.: ил.

  4. Морган С. Проектирование и оптимизациядоступа к базам данныхMicrosoftSQLServer 2005. Учебный курс Microsoft : Пер.с англ. / С.Морган, Т.Тернстрем. – М.: Издательство «Русскаяредакция», 2008. – 480 стр.: ил.

  5. Г.А.Гайна. Основи проектування баз даних: Навчальний посібник. – К.; Кондор, 2008. – 200 с.

  6. Джексон Г. Проектирование реляционных баз данных. – М.: Мир, 1991. - 252 с.

  7. Дейт К. Введение в систему баз данных. – М.: Мир, 1998. - 846 с.

  8. Т.А. Гаврилова, В.Ф. Хорошевский. Базы знаний интелектуальных систем / Учебноепособие. – СПб.: – Питер. 2000. – 384с.: – ил. 

Додаток   

Лістинг програми

Файл Start.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.IO;

namespace Trains

{

    public partial class Start : Form

    {

        public Start()

        {

            InitializeComponent();

        } 

        private void button_add_passage_Click(object sender, EventArgs e)

        {

            Add_passage add_race = new Add_passage();

            this.Hide();

            add_race.ShowDialog();

            this.Close();

        } 

        private void button_exit_Click(object sender, EventArgs e)

        {

            this.Hide();

            this.Close();

        } 

        private void button_see_all_Click(object sender, EventArgs e)

        {

            Output_passeges output_passages = new Output_passeges();

            this.Hide();

            output_passages.ShowDialog();

            this.Close();

        } 

        private void button_buy_Click(object sender, EventArgs e)

        {

            //пошук по можливим варіантом;

            Buy_ticket buy_ticket = new Buy_ticket();

            this.Hide();

            buy_ticket.ShowDialog();

            this.Close();

        } 

        private void button_cancel_buy_Click(object sender, EventArgs e)

        {

            Cancel_ticket cancel_ticket = new Cancel_ticket();

            this.Hide();

            cancel_ticket.ShowDialog();

            this.Close();

        } 

        private void button_summary_Click(object sender, EventArgs e)

        {

            Summary summary = new Summary();

            this.Hide();

            summary.ShowDialog();

            this.Close();

        } 

        private void logInToolStripMenuItem_Click(object sender, EventArgs e)

        {

            Autorization autorization = new Autorization();

            autorization.ShowDialog();

            this.Start_Load(sender, e);

        } 

        private void Start_Load(object sender, EventArgs e)

        {

            if (File.Exists("Avt.txt") == true)

            {

                this.pictureBox1.Location = new System.Drawing.Point(118, 27);

                button_see_all.Visible = true;

                button_add_passage.Visible = true;

                button_summary.Visible = true;

                button_buy.Visible = false;

                button_cancel_buy.Visible = false;

                logOffToolStripMenuItem.Enabled = true;

                logInToolStripMenuItem.Enabled = false;

            }

            else

            {

                this.pictureBox1.Location = new System.Drawing.Point(12, 27);

                button_summary.Visible = false;

                button_buy.Visible = true;

                button_cancel_buy.Visible = true;

                button_add_passage.Visible = false;

                button_see_all.Visible = false;

                logOffToolStripMenuItem.Enabled = false;

                logInToolStripMenuItem.Enabled = true;

            }

        } 

        private void logOffToolStripMenuItem_Click(object sender, EventArgs e)

        {

            this.pictureBox1.Location = new System.Drawing.Point(12, 27);

            button_add_passage.Visible = false;

            button_see_all.Visible = false;

            button_summary.Visible = false;

            logOffToolStripMenuItem.Enabled = false;

            logInToolStripMenuItem.Enabled = true;

            button_buy.Visible = true;

            button_cancel_buy.Visible = true;

            if (File.Exists("Avt.txt") == true)

                File.Delete("Avt.txt");

        } 

        private void infoToolStripMenuItem_Click(object sender, EventArgs e)

        {

            Info info = new Info();

            info.ShowDialog();

        } 

    }

}

Файл Add_passage.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using MySql.Data.MySqlClient;

namespace Trains

{

    public partial class Add_passage : Form

    {

public static string ConnectionString = @"Server=127.0.0.1; Database=trains; UserId=root; Password=;";

public static MySqlConnection con = new MySqlConnection(ConnectionString);

        public static int id_passage,id_wagon;

        public static int number_places = 40;

        public Add_passage()

        {

            InitializeComponent();

        } 

        private void button_back_Click(object sender, EventArgs e)

        {

            Start start = new Start();

            this.Hide();

            start.ShowDialog();

            this.Close();

        }

        public void AddTickets()

        {

            int num_wagon = Convert.ToInt32(textBox_number_wagons.Text);

            string name = textBox_start.Text + "-" + textBox_target.Text;

            int[] price = new int[3];

            int[] place = new int[3];

            price[0] = Convert.ToInt32(textBox_K.Text);

            price[1] = Convert.ToInt32(textBox_P.Text);

            price[2] = Convert.ToInt32(textBox_SV.Text);

            place[0] = Convert.ToInt32(textBox_num_K.Text);

            place[1] = Convert.ToInt32(textBox_num_P.Text);

            place[2] = Convert.ToInt32(textBox_num_SV.Text);

string com_select = "SELECT passage_id FROM passage WHERE passage_name = '" + name + "'";

            MySqlCommand sql_select = new MySqlCommand(com_select, con);

            try

            {

                con.Open();

                MySqlDataReader reader = sql_select.ExecuteReader();

                while(reader.Read())

                {

                    id_passage = Convert.ToInt32(reader[0].ToString());

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

            for (int i = 0; i < place[0]; i++)

            {

                int wagon = i + 1;

string com_insert = "INSERT INTO wagon(wagon_number,wagon_type,passage_id) VALUES('" + wagon + "','Купе','" + id_passage + "')";

MySqlCommand sql_insert = new MySqlCommand(com_insert, con);

                try

                {

                    con.Open();

                    sql_insert.ExecuteNonQuery();

                }

                catch (Exception ex)

                {

                    MessageBox.Show(ex.Message);

                }

                finally

                {

                    con.Close();

                }

string com_select_wagon = "SELECT wagon_id FROM wagon WHERE wagon_number = '" + wagon + "'";

MySqlCommand sql_select_wagon = new MySqlCommand(com_select_wagon, con);

                try

                {

                    con.Open();

                    MySqlDataReader reader = sql_select_wagon.ExecuteReader();

                    while (reader.Read())

                    {

                        id_wagon = Convert.ToInt32(reader[0].ToString());

                    }

                }

                catch (Exception ex)

                {

                    MessageBox.Show(ex.Message);

                }

                finally

                {

                    con.Close();

                } 

                for (int j = 0; j < number_places; j++)

                {

string number_ticket = wagon.ToString() + "-0-" + (j+1).ToString();

string com_insert_ticket = "INSERT INTO ticket(ticket_number,ticket_price,ticket_status,wagon_id) VALUES('" + number_ticket + "','" + price[0] +"','0','" + id_wagon + "')";

MySqlCommand sql_insert_ticket = new MySqlCommand(com_insert_ticket, con);

                    try

                    {

                        con.Open();

                        sql_insert_ticket.ExecuteNonQuery();

                    }

                    catch (Exception ex)

                    {

                        MessageBox.Show(ex.Message);

                    }

                    finally

                    {

                        con.Close();

                    }

                }

            }

            for (int i = 0; i < place[1]; i++)

            {

                int wagon = place[0] + i + 1;

string com_insert = "INSERT INTO wagon(wagon_number,wagon_type,passage_id) VALUES('" + wagon + "','Плацкарт','" + id_passage + "')";

MySqlCommand sql_insert = new MySqlCommand(com_insert, con);

                try

                {

                    con.Open();

                    sql_insert.ExecuteNonQuery();

                }

                catch (Exception ex)

                {

                    MessageBox.Show(ex.Message);

                }

                finally

                {

                    con.Close();

                }

string com_select_wagon = "SELECT wagon_id FROM wagon WHERE wagon_number = '" + wagon + "'";

MySqlCommand sql_select_wagon = new MySqlCommand(com_select_wagon, con);

                try

                {

                    con.Open();

                    MySqlDataReader reader = sql_select_wagon.ExecuteReader();

                    while (reader.Read())

                    {

                        id_wagon = Convert.ToInt32(reader[0].ToString());

                    }

                }

                catch (Exception ex)

                {

                    MessageBox.Show(ex.Message);

                }

                finally

                {

                    con.Close();

                } 

                for (int j = 0; j < number_places; j++)

                {

string number_ticket = wagon.ToString() + "-0-" + (j+1).ToString();

string com_insert_ticket = "INSERT INTO ticket(ticket_number,ticket_price,ticket_status,wagon_id) VALUES('" + number_ticket + "','" + price[1] + "','0','" + id_wagon + "')";

MySqlCommand sql_insert_ticket = new MySqlCommand(com_insert_ticket, con);

                    try

                    {

                        con.Open();

                        sql_insert_ticket.ExecuteNonQuery();

                    }

                    catch (Exception ex)

                    {

                        MessageBox.Show(ex.Message);

                    }

                    finally

                    {

                        con.Close();

                    }

                }

            }

            for (int i = 0; i < place[2]; i++)

            {

                int wagon = place[0] + place[1] + i + 1;

string com_insert = "INSERT INTO wagon(wagon_number,wagon_type,passage_id) VALUES('" + wagon + "','Спальний вагон','" + id_passage + "')";

MySqlCommand sql_insert = new MySqlCommand(com_insert, con);

                try

                {

                    con.Open();

                    sql_insert.ExecuteNonQuery();

                }

                catch (Exception ex)

                {

                    MessageBox.Show(ex.Message);

                }

                finally

                {

                    con.Close();

                }

string com_select_wagon = "SELECT wagon_id FROM wagon WHERE wagon_number = '" + wagon + "'";

MySqlCommand sql_select_wagon = new MySqlCommand(com_select_wagon, con);

                try

                {

                    con.Open();

                    MySqlDataReader reader = sql_select_wagon.ExecuteReader();

                    while (reader.Read())

                    {

                        id_wagon = Convert.ToInt32(reader[0].ToString());

                    }

                }

                catch (Exception ex)

                {

                    MessageBox.Show(ex.Message);

                }

                finally

                {

                    con.Close();

                } 

                for (int j = 0; j < number_places; j++)

                {

string number_ticket = wagon.ToString() + "-0-" + (j+1).ToString();

string com_insert_ticket = "INSERT INTO ticket(ticket_number,ticket_price,ticket_status,wagon_id) VALUES('" + number_ticket + "','" + price[2] + "','0','" + id_wagon + "')";

MySqlCommand sql_insert_ticket = new MySqlCommand(com_insert_ticket, con);

                    try

                    {

                        con.Open();

                        sql_insert_ticket.ExecuteNonQuery();

                    }

                    catch (Exception ex)

                    {

                        MessageBox.Show(ex.Message);

                    }

                    finally

                    {

                        con.Close();

                    }

                }

            }

        }

        public void AddPassage()

        {

            string name = textBox_start.Text + "-" + textBox_target.Text;

int number_wagons = Convert.ToInt32(textBox_number_wagons.Text);

string date_start = Convert.ToString(maskedTextBox_start_date.Text + " " + maskedTextBox_start_time.Text);

string date_arrive = Convert.ToString(maskedTextBox_arrive_date.Text + " " + maskedTextBox_arrive_time.Text);

string com_insert = "INSERT INTO passage(passage_name,passage_number_wagons,passage_date_start,passage_date_finish) VALUES('"+ name +"','"+ number_wagons +"','" + date_start + "','" + date_arrive + "')";

            MySqlCommand sql_insert = new MySqlCommand(com_insert, con);

            try

            {

                con.Open();

                sql_insert.ExecuteNonQuery();

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

        }

        public string CheckForTrue()

        {

            string message = "";

            if (textBox_start.Text == "")

                message += "\nПочатковий пункт;";

            if (textBox_target.Text == "")

                message += "\nКінцевий пункт;";

            if (textBox_number_wagons.Text == "")

                message += "\nКількість вагонів;";

if (maskedTextBox_start_date.Text == "" || maskedTextBox_start_time.Text == "")

message += "\nДата відправлення;";

if (maskedTextBox_arrive_date.Text == "" || maskedTextBox_arrive_time.Text == "")

message += "\nДата прибуття;";

if (textBox_K.Text == "")

                message += "\nЦіна за квиток Купе;";

            if (textBox_P.Text == "")

                message += "\nЦіна за квиток Плацкарт;";

            if (textBox_SV.Text == "")

                message += "\nЦіна за квиток Спальний вагон;";

            if (textBox_num_K.Text == "")

                message += "\nКількість квитків Купе;";

            if (textBox_num_P.Text == "")

                message += "\nКількість квитків Плацкарт;";

            if (textBox_num_SV.Text == "")

                message += "\nКількість квитків Спальний вагон;";

            return message;

        }

        private void button_continue_Click(object sender, EventArgs e)

        {

            if (CheckForTrue() == "")

            {

                AddPassage();

                AddTickets(); 

                Start start = new Start();

                this.Hide();

                start.ShowDialog();

                this.Close();

            }

            else

MessageBox.Show("Не заповнені наступні поля:" + CheckForTrue(), "Error!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

        }

    }

} 

Файл Autorization.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.IO; 

namespace Trains

{

    public partial class Autorization : Form

    {

        public static string pin = "admin";

        public static string s = "";

        public Autorization()

        {

            InitializeComponent();

        }

        public string ReturnPin() { return pin; }

        private void button2_Click(object sender, EventArgs e)

        {

            if (File.Exists("Avt.txt") == true)

                File.Delete("Avt.txt");    

            StreamWriter sw;       

            if (String.Compare(s, ReturnPin()) == 0)   

            {

                sw = File.CreateText("Avt.txt");        

                sw.Write(s);       

                sw.Close();

                this.Close();  

            }

            else       

            {

                MessageBox.Show("Пароль введено невірно", "Error",

                    System.Windows.Forms.MessageBoxButtons.OK, 

                    System.Windows.Forms.MessageBoxIcon.Error);

            }

            textBox1.Text = "";    

            s = "";        

        } 

        private void textBox1_TextChanged(object sender, EventArgs e)

        {

            string p = textBox1.Text;    

            bool flag = false;       

            for (int i = 0; i < p.Length; i++)

                if (p[i] != '*')       

                {

                    s += p[i];     

                    flag = true;   

                }

            if (flag == true)

            {

                textBox1.Text = "";  

                for (int i = 0; i < p.Length; i++)

                    textBox1.Text += "*";     

            }

        }

    }

}

Файл Buy_ticket.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using MySql.Data.MySqlClient;

namespace Trains

{

    public partial class Buy_ticket : Form

    {

public static string ConnectionString = @"Server=127.0.0.1; Database=trains; UserId=root; Password=;";

public static MySqlConnection con = new MySqlConnection(ConnectionString);

        public static int id_passage,num_wagon;

        public Buy_ticket()

        {

            InitializeComponent();

            this.comboBox_passage.Items.AddRange(SelectPassages());

        }

        private static int CountPassages()

        {

            int num_pas = 0;

            string com_select_count = "SELECT COUNT(1) FROM passage";

MySqlCommand sql_select_count = new MySqlCommand(com_select_count, con);

            try

            {

                con.Open();

                MySqlDataReader reader = sql_select_count.ExecuteReader();

                while (reader.Read())

                {

                    num_pas = Convert.ToInt32(reader[0].ToString());

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

            return num_pas;

        }

        private static string[] SelectPassages()

        {

string[] passages = new string[CountPassages()];

string com_select_passage = "SELECT passage_name FROM passage GROUP BY passage_name";

MySqlCommand sql_select_passage = new MySqlCommand(com_select_passage, con);

            try

            {

                con.Open();

                MySqlDataReader reader = sql_select_passage.ExecuteReader();

                int i = 0;

                while (reader.Read())

                {

                    passages[i++] = reader[0].ToString();

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

            return passages;

        } 

        public static DataTable FillTable(MySqlCommand command)

        {

            DataTable data_table = new DataTable();

            try

            {

                con.Open();

                command.ExecuteNonQuery();

MySqlDataAdapter data_adapter = new MySqlDataAdapter(command);

                data_adapter.Fill(data_table);

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

            return data_table;

        }

        private void button_find_Click(object sender, EventArgs e)

        {

string com_select_passage = "SELECT passage_id FROM passage WHERE passage_name = '" + comboBox_passage.Text + "'";

MySqlCommand sql_select_passage = new MySqlCommand(com_select_passage, con);

            try

            {

                con.Open();

                MySqlDataReader reader = sql_select_passage.ExecuteReader();

                while (reader.Read())

                {

                    id_passage = Convert.ToInt32(reader[0].ToString());

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

string com_select_passage1 = "SELECT passage_number_wagons FROM passage WHERE passage_name = '" + comboBox_passage.Text + "'";

MySqlCommand sql_select_passage1 = new MySqlCommand(com_select_passage1, con);

            try

            {

                con.Open();

                MySqlDataReader reader = sql_select_passage1.ExecuteReader();

                while (reader.Read())

                {

                    num_wagon = Convert.ToInt32(reader[0].ToString());

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

            int[] num_wag = new int[num_wagon];

string com_select_wagon = "SELECT wagon_id FROM wagon WHERE passage_id = '" + id_passage + "'";

MySqlCommand sql_select_wagon = new MySqlCommand(com_select_wagon, con);

            try

            {

                int i = 0;

                con.Open();

                MySqlDataReader reader = sql_select_wagon.ExecuteReader();

                while (reader.Read())

                {

num_wag[i++] = Convert.ToInt32(reader.GetValue(0).ToString());

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

            DataTable data_table = new DataTable();

            for (int i = 0; i < num_wagon; i++)

            {

string com_select_ticket = "SELECT * FROM ticket WHERE ticket_status = 0 AND wagon_id = '" + num_wag[i] + "'";

MySqlCommand sql_select = new MySqlCommand(com_select_ticket, con);

                try

                {

                    con.Open();

                    sql_select.ExecuteNonQuery();

MySqlDataAdapter data_adapter = new MySqlDataAdapter(sql_select);

                    data_adapter.Fill(data_table);

                }

                catch (Exception ex)

                {

                    MessageBox.Show(ex.Message);

                }

                finally

                {

                    con.Close();

                }

            }

            dataGridView1.DataSource = data_table;

        }

        private void button_back_Click(object sender, EventArgs e)

        {

            Start start = new Start();

            this.Hide();

            start.ShowDialog();

            this.Close();

        }

private void dataGridView1_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)

        {

DataTable data_table = (DataTable)dataGridView1.DataSource;    //get table

int id_ticket = Convert.ToInt32(data_table.Rows[e.RowIndex][0].ToString());

            string passage = comboBox_passage.Text;

            ClientInfo client_info = new ClientInfo(id_ticket,passage);

            this.Hide();

            client_info.ShowDialog();

            this.Close();

        } 

    }

}

Файл Cancel_ticket.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using MySql.Data.MySqlClient;

namespace Trains

{

    public partial class Cancel_ticket : Form

    {

public static string ConnectionString = @"Server=127.0.0.1; Database=trains; UserId=root; Password=;";

public static MySqlConnection con = new MySqlConnection(ConnectionString);

        public const int penalty = 35;

        public Cancel_ticket()

        {

            InitializeComponent();

        } 

        private void button_ok_Click(object sender, EventArgs e)

        {

            string name = textBox_name.Text;

            string surname = textBox_surname.Text;

            string phone = textBox_phone.Text;

            int id_client = 0;

string com_select_client = "SELECT client_id FROM client WHERE client_name = '" + name + "' AND client_surname = '" + surname + "' AND client_phone = '" + phone + "'";

MySqlCommand sql_select_client = new MySqlCommand(com_select_client, con);

            try

            {

                con.Open();

                MySqlDataReader reader = sql_select_client.ExecuteReader();

                while (reader.Read())

                {

                    id_client = Convert.ToInt32(reader[0].ToString());

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

string com_select_ticket = "SELECT * FROM ticket WHERE ticket_status = 1 AND client_id = '" + id_client + "'";

MySqlCommand sql_select = new MySqlCommand(com_select_ticket, con);

            try

            {

                con.Open();

                sql_select.ExecuteNonQuery();

                DataTable data_table = new DataTable();

MySqlDataAdapter data_adapter = new MySqlDataAdapter(sql_select);

                data_adapter.Fill(data_table);

                dataGridView1.DataSource = data_table;

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

        }

        private string GetValue(string value,int id)

        {

            string temp = "";

string com_select_id = "SELECT passage_id FROM wagon JOIN ticket WHERE wagon.wagon_id = ticket.wagon_id AND ticket.ticket_id = '" + id + "'";

MySqlCommand sql_select_id = new MySqlCommand(com_select_id, con);

            try

            {

                con.Open();

                MySqlDataReader reader = sql_select_id.ExecuteReader();

                while (reader.Read())

                {

                    temp = reader.GetValue(0).ToString();

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

string com_select_value = "SELECT " + value + " FROM passage  WHERE passage_id = '" + temp + "'";

MySqlCommand sql_select_value = new MySqlCommand(com_select_value, con);

            try

            {

                int i = 0;

                con.Open();

                MySqlDataReader reader = sql_select_value.ExecuteReader();

                while (reader.Read())

                {

                    temp = reader.GetValue(0).ToString();

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

            return temp;

        }

        private int GetPriceOfTicket(int id)

        {

            int temp = 0;

string com_select_value = "SELECT ticket_price FROM ticket  WHERE ticket_id = '" + id + "'";

MySqlCommand sql_select_value = new MySqlCommand(com_select_value, con);

            try

            {

                con.Open();

                MySqlDataReader reader = sql_select_value.ExecuteReader();

                while (reader.Read())

                {

                    temp = Convert.ToInt32(reader.GetValue(0).ToString());

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

            return temp;

        }

private void dataGridView1_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)

        {

DataTable data_table = (DataTable)dataGridView1.DataSource;    //get table

int id_ticket = Convert.ToInt32(data_table.Rows[e.RowIndex][0].ToString());

float temp_price = GetPriceOfTicket(id_ticket) * (1 - (float)penalty / 100);

            string message = "Ви впевнені що хочете здати квиток?";

            message += "\nІнформація про квиток:";

            message += "\nЗвідки-куди:" + GetValue("passage_name",id_ticket);

message += "\nЧас відправлення:" + GetValue("passage_date_start",id_ticket);

message += "\nЧас прибуття:" + GetValue("passage_date_finish", id_ticket);

message += "\nВам повернуть 65% вартості квитка, тобто:" + temp_price;

DialogResult result = MessageBox.Show(message,"",MessageBoxButtons.YesNo);

            if (result == DialogResult.Yes)

            {

string com_insert = "INSERT INTO cancellation(cancellation_penalty,ticket_id) VALUES('" + penalty + "','" + id_ticket + "')";

MySqlCommand sql_insert = new MySqlCommand(com_insert, con);

                try

                {

                    con.Open();

                    sql_insert.ExecuteNonQuery();

                }

                catch (Exception ex)

                {

                    MessageBox.Show(ex.Message);

                }

                finally

                {

                    con.Close();

                }

string com_update = "UPDATE ticket SET client_id = '0', ticket_status = '0' WHERE ticket_id = '" + id_ticket + "'";

MySqlCommand sql_update = new MySqlCommand(com_update, con);

                try

                {

                    con.Open();

                    sql_update.ExecuteNonQuery();

                }

                catch (Exception ex)

                {

                    MessageBox.Show(ex.Message);

                }

                finally

                {

                    con.Close();

                }

MessageBox.Show("Вам повернули " + temp_price + " грн.", "Квиток був успішно зданий!", MessageBoxButtons.OK, MessageBoxIcon.Information); 

            }

        } 

        private void button_back_Click(object sender, EventArgs e)

        {

            Start start = new Start();

            this.Hide();

            start.ShowDialog();

            this.Close();

        }

    }

}

Файл ClientInfo.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using MySql.Data.MySqlClient;

namespace Trains

{

    public partial class ClientInfo : Form

    {

public static string ConnectionString = @"Server=127.0.0.1; Database=trains; UserId=root; Password=;";

public static MySqlConnection con = new MySqlConnection(ConnectionString);

        public static int id_ticket;

        public static int prototype;

        public static string passage_name;

        public ClientInfo(int id,string passage)

        {

            InitializeComponent();

            id_ticket = id;

            passage_name = passage;

            this.comboBox_benefit.Items.AddRange(SelectBenefits());

        }

        private static int CountBenefits()

        {

            int num_ben = 0;

            string com_select_count = "SELECT COUNT(1) FROM benefit";

MySqlCommand sql_select_count = new MySqlCommand(com_select_count, con);

            try

            {

                con.Open();

                MySqlDataReader reader = sql_select_count.ExecuteReader();

                while (reader.Read())

                {

                    num_ben = Convert.ToInt32(reader[0].ToString());

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

            return num_ben;

        }

        private static string[] SelectBenefits()

        {

            string[] benefits = new string[CountBenefits()];

string com_select_benefit = "SELECT benefit_type FROM benefit GROUP BY benefit_type";

MySqlCommand sql_select_benefit = new MySqlCommand(com_select_benefit, con);

            try

            {

                con.Open();

                MySqlDataReader reader = sql_select_benefit.ExecuteReader();

                int i = 0;

                while (reader.Read())

                {

                    benefits[i++] = reader[0].ToString();

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

            return benefits;

        }

        private void ClientInfo_Load(object sender, EventArgs e)

        {

        } 

        private void button_back_Click(object sender, EventArgs e)

        {

            Buy_ticket buy_ticket = new Buy_ticket();

            this.Hide();

            buy_ticket.ShowDialog();

            this.Close();

        }

        private string Check()

        {

            string message = "";

            if (textBox_name.Text == "")

                message += "\nІм'я;";

            if (textBox_surname.Text == "")

                message += "\nПрізвище;";

            if (textBox_phone.Text == "")

                message += "\nНомер телефону;";

            return message;

        }

        private void button_ok_Click(object sender, EventArgs e)

        {

            if (Check() == "")

            {

                string name = textBox_name.Text;

                string surname = textBox_surname.Text;

                string phone = textBox_phone.Text;

                string benefit = comboBox_benefit.Text;

                int id_benefit = 0;

                int id_client = 0;

                if (benefit != "")

                {

string com_select = "SELECT benefit_id FROM benefit WHERE benefit_type = '" + benefit + "'";

MySqlCommand sql_select = new MySqlCommand(com_select, con);

                    try

                    {

                        con.Open();

MySqlDataReader reader = sql_select.ExecuteReader();

                        while (reader.Read())

                        {

                            id_benefit = Convert.ToInt32(reader[0].ToString());

                        }

                    }

                    catch (Exception ex)

                    {

                        MessageBox.Show(ex.Message);

                    }

                    finally

                    {

                        con.Close();

                    }

                }

                if (id_benefit == 0)

                    benefit = "-";

string com_insert_client = "INSERT INTO client(client_name,client_surname,client_phone,client_benefit,benefit_id) VALUES('" + name + "','" + surname + "','" + phone + "','" + benefit + "','" + id_benefit + "')";

MySqlCommand sql_insert_client = new MySqlCommand(com_insert_client, con);

                try

                {

                    con.Open();

                    sql_insert_client.ExecuteNonQuery();

                }

                catch (Exception ex)

                {

                    MessageBox.Show(ex.Message);

                }

                finally

                {

                    con.Close();

                }

string com_select_client = "SELECT client_id FROM client WHERE client_name = '" + name + "' AND client_surname = '" + surname + "' AND client_phone = '" + phone + "'";

MySqlCommand sql_select_client = new MySqlCommand(com_select_client, con);

                try

                {

                    con.Open();

                    MySqlDataReader reader = sql_select_client.ExecuteReader();

                    while (reader.Read())

                    {

                        id_client = Convert.ToInt32(reader[0].ToString());

                    }

                }

                catch (Exception ex)

                {

                    MessageBox.Show(ex.Message);

                }

                finally

                {

                    con.Close();

                }

string com_update_ticket = "UPDATE ticket SET client_id = '" + id_client + "',ticket_status = '1' WHERE ticket_id ='" + id_ticket + "'";

MySqlCommand sql_update_ticket = new MySqlCommand(com_update_ticket, con);

                try

                {

                    con.Open();

                    sql_update_ticket.ExecuteNonQuery();

                }

                catch (Exception ex)

                {

                    MessageBox.Show(ex.Message);

                }

                finally

                {

                    con.Close();

                }

MessageBox.Show("Квиток був успішно куплений!", "Вітаємо!", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }

            else

            {

MessageBox.Show("Незаповнені наступні поля:" + Check(),"Увага!",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);

            }

        } 

    }

}

Файл Info.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms; 

namespace Trains

{

    public partial class Info : Form

    {

        public Info()

        {

            InitializeComponent();

        }

private void button_ok_Click(object sender, EventArgs e)

        {

            this.Hide();

            this.Close();

        }

    }

}

Файл Output_passages.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using MySql.Data.MySqlClient;

namespace Trains

{

    public partial class Output_passeges : Form

    {

public static string ConnectionString = @"Server=127.0.0.1; Database=trains; UserId=root; Password=;";

public static MySqlConnection con = new MySqlConnection(ConnectionString);

        public Output_passeges()

        {

            InitializeComponent();

        }

        public static DataTable FillTableByRequest(MySqlCommand command)

        {

            DataTable data_table = new DataTable();

            try

            {

                con.Open();

                command.ExecuteNonQuery();

MySqlDataAdapter data_adapter = new MySqlDataAdapter(command);

                data_adapter.Fill(data_table);   

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

            return data_table;

        } 

        private void button1_Click(object sender, EventArgs e)

        {

            Start start = new Start();

            this.Hide();

            start.ShowDialog();

            this.Close();

        } 

        private void Output_passeges_Load(object sender, EventArgs e)

        {

MySqlCommand sql_select1 = new MySqlCommand("SELECT * FROM `passage`", con);

            dataGridView1.DataSource = FillTableByRequest(sql_select1);

MySqlCommand sql_select2 = new MySqlCommand("SELECT * FROM `wagon`", con);

            dataGridView2.DataSource = FillTableByRequest(sql_select2);

MySqlCommand sql_select3 = new MySqlCommand("SELECT * FROM `ticket`", con);

            dataGridView3.DataSource = FillTableByRequest(sql_select3);

MySqlCommand sql_select4 = new MySqlCommand("SELECT * FROM `client`", con);

            dataGridView4.DataSource = FillTableByRequest(sql_select4);

MySqlCommand sql_select5 = new MySqlCommand("SELECT * FROM `benefit`", con);

            dataGridView5.DataSource = FillTableByRequest(sql_select5);

MySqlCommand sql_select6 = new MySqlCommand("SELECT * FROM `cancellation`", con);

            dataGridView6.DataSource = FillTableByRequest(sql_select6);

        }       

    }

}

Файл Summary.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using MySql.Data.MySqlClient;

namespace Trains

{

    public partial class Summary : Form

    {

public static string ConnectionString = @"Server=127.0.0.1; Database=trains; UserId=root; Password=;";

public static MySqlConnection con = new MySqlConnection(ConnectionString);

        public static float SumTicket;

        public static float CanTicket;

        public Summary()

        {

            InitializeComponent();

        }

        private int SelectBenefit(int id)

        {

            int temp = 0;

string com_select = "SELECT benefit_id FROM client WHERE client_id = '" + id + "'";

            MySqlCommand sql_select = new MySqlCommand(com_select, con);

            try

            {

                con.Open();

MySqlDataReader reader = sql_select.ExecuteReader();

                while (reader.Read())

                {

                    temp = Convert.ToInt32(reader[0].ToString());

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

            return temp;

        }

        private int CountTickets()

        {

            int temp = 0;

string com_select = "SELECT COUNT(1) FROM ticket WHERE ticket_status = 1 AND client_id != 0";

            MySqlCommand sql_select = new MySqlCommand(com_select, con);

            try

            {

                con.Open();

MySqlDataReader reader = sql_select.ExecuteReader();

                while (reader.Read())

                {

                    temp = Convert.ToInt32(reader[0].ToString());

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

            return temp;

        }

        private int CountCancelTickets()

        {

            int temp = 0;

            string com_select = "SELECT COUNT(1) FROM cancellation";

            MySqlCommand sql_select = new MySqlCommand(com_select, con);

            try

            {

                con.Open();

                MySqlDataReader reader = sql_select.ExecuteReader();

                while (reader.Read())

                {

                    temp = Convert.ToInt32(reader[0].ToString());

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

            return temp;

        }

        private int[] SelectParametr(string param)

        {

            int[] temp = new int[CountTickets()];

string com_select = "SELECT " + param + " FROM ticket WHERE ticket_status = 1 AND client_id != 0";

            MySqlCommand sql_select = new MySqlCommand(com_select, con);

            try

            {

                con.Open();

                MySqlDataReader reader = sql_select.ExecuteReader();

                int i = 0;

                while (reader.Read())

                {

                    temp[i++] = Convert.ToInt32(reader[0].ToString());

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

            return temp;

        }

        private int GetBenefitSize(int id)

        {

            int size = 0;

string com_select = "SELECT benefit_size FROM benefit WHERE benefit_id = '" + id + "'";

            MySqlCommand sql_select = new MySqlCommand(com_select, con);

            try

            {

                con.Open();

MySqlDataReader reader = sql_select.ExecuteReader();

                while (reader.Read())

                {

                    size = Convert.ToInt32(reader[0].ToString());

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

            return size;

        }

        private int[] SelectParametrCancel(string param)

        {

            int[] temp = new int[CountCancelTickets()];

            string com_select = "SELECT " + param + " FROM cancellation";

            MySqlCommand sql_select = new MySqlCommand(com_select, con);

            try

            {

                con.Open();

                MySqlDataReader reader = sql_select.ExecuteReader();

                int i = 0;

                while (reader.Read())

                {

                    temp[i++] = Convert.ToInt32(reader[0].ToString());

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

            return temp;

        }

        private int SelectPrice(int id)

        {

            int temp = 0;

string com_select = "SELECT ticket_price FROM ticket WHERE ticket_id = '" + id + "'";

            MySqlCommand sql_select = new MySqlCommand(com_select, con);

            try

            {

                con.Open();

                MySqlDataReader reader = sql_select.ExecuteReader();

                int i = 0;

                while (reader.Read())

                {

                    temp = Convert.ToInt32(reader[0].ToString());

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                con.Close();

            }

            return temp;

        }

        private void Summary_Load(object sender, EventArgs e)

        {

            SumTicket = 0;

            int[] price = SelectParametr("ticket_price");

            int[] client = SelectParametr("client_id");

            for (int i = 0; i < CountTickets(); i++)

            {

                int benefit = SelectBenefit(client[i]);

                if (benefit != 0)

                {

                    int size = GetBenefitSize(benefit);

                    float k = (1 - ((float)size / 100));

                    SumTicket += (price[i] * k);

                }

                else

                    SumTicket += price[i];

            }

            int number_buy = CountTickets();

            CanTicket = 0;

            int[] ticket = SelectParametrCancel("ticket_id");

            int[] penalty = SelectParametrCancel("cancellation_penalty");

            for (int i = 0; i < CountCancelTickets(); i++)

            {

                number_buy++;

                SumTicket += SelectPrice(ticket[i]);

                float k = (1 - ((float)penalty[i] / 100));

                CanTicket += (SelectPrice(ticket[i]) * k);

            }

            label2.Text = number_buy.ToString();

            label4.Text = SumTicket.ToString();

            label8.Text = CountCancelTickets().ToString();

            label7.Text = CanTicket.ToString();

            label10.Text = (SumTicket - CanTicket).ToString();

        } 

        private void button_back_Click(object sender, EventArgs e)

        {

            Start start = new Start();

            this.Hide();

            start.ShowDialog();

            this.Close();

        } 

    }

}

З повагою ІЦ "KURSOVIKS"!