Файл: Курсовой проект по дисциплине ПМ. 05 Проектирование и разработка информационных систем.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 06.12.2023

Просмотров: 240

Скачиваний: 13

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


act_table = 5;

}

}

Здесь выполняется вывод ланных из таблиц из меню «Просмотр».

private void button5_Click(object sender, EventArgs e)

{

Get_Bilets();

act_table = 1;

}

private void button6_Click(object sender, EventArgs e)

{

Get_Marshruts();

act_table = 2;

}

private void button7_Click(object sender, EventArgs e)

{

Get_Avtobus();

act_table = 3;

}

private void button8_Click(object sender, EventArgs e)

{

Get_Voditel();

act_table = 4;

}

private void button11_Click(object sender, EventArgs e)

{

Get_Dispetcher();

act_table = 5;

}

Команда Get используется для выборки из базы данных Access определённой таблицы.

private void Get_Bilets() // читает все поля из таблицы "Билет"

{

string CommandText = "SELECT ID_Bilet, [Место], [Стоимость], [Время], [Ф_И_О], [Паспорт], [Льготы] FROM [Билет]";

OleDbDataAdapter dataAdapter = new OleDbDataAdapter(CommandText, ConnectionString);
// создаем объект DataSet

DataSet ds = new DataSet();

// заполняем dataGridView1 данными из таблицы "Билет" базы данных

dataAdapter.Fill(ds, "[Билет]");

dataGridView2.DataSource = ds.Tables[0].DefaultView;

dataGridView2.Columns[0].Visible = false; // Прячем поле ID_Bilets

}
private void Get_Marshruts() // читает все поля из таблицы "Маршрут"

{

string CommandText = "SELECT * FROM [Маршрут]";

OleDbDataAdapter dataAdapter = new OleDbDataAdapter(CommandText, ConnectionString);

DataSet ds = new DataSet(); // создаем объект DataSet

dataAdapter.Fill(ds, "[Маршрут]");

dataGridView2.DataSource = ds.Tables[0].DefaultView;

}

private void Get_Avtobus() // читает все поля из таблицы "Автобус"

{

string CommandText = "SELECT * FROM Автобус";

OleDbDataAdapter dataAdapter = new OleDbDataAdapter(CommandText, ConnectionString);

DataSet ds = new DataSet(); // создаем объект DataSet

dataAdapter.Fill(ds, "Автобус"); // заполняем набор данных данными из таблицы "Автобус"

dataGridView2.DataSource = ds.Tables[0].DefaultView;

dataGridView2.Columns[0].Visible = false; // спрятать нулевой столбец (поле ID_Avtobus)

}

private void Get_Voditel() // читает все поля из таблицы "Водитель"

{

string CommandText = "SELECT * FROM Водитель";

OleDbDataAdapter dataAdapter = new OleDbDataAdapter(CommandText, ConnectionString);

DataSet ds = new DataSet();

dataAdapter.Fill(ds, "Водитель");

dataGridView2.DataSource = ds.Tables[0].DefaultView;

dataGridView2.Columns[0].Visible = false;

}

private void Get_Dispetcher()

{

string CommandText = "SELECT * FROM [Диспетчер]";

OleDbDataAdapter dataAdapter = new OleDbDataAdapter(CommandText, ConnectionString);

DataSet ds = new DataSet();

dataAdapter.Fill(ds, "Диспетчер");

dataGridView2.DataSource = ds.Tables[0].DefaultView;

dataGridView2.Columns[0].Visible = false;

}

Команда Add предназначена для добавления в базу данных Access в определённую таблицу.

private void Add_Bilet(string mesto, string stoimost, DateTime vremja, string name, string passport, bool lgota)

{

string CommandText;

string s_vremja;

string s_stoimost;

s_vremja = Convert.ToString(vremja); // переводим время в строку

s_stoimost = stoimost.Replace(',', '.'); // меняем разделитель разрядов '.' на

// разделитель понятный синтаксису SQL '.'
CommandText = "INSERT INTO [Билет] (Место, Стоимость, [Время], [Ф_И_О], Паспорт, Льготы) " + "VALUES ('" + mesto + "', " + s_stoimost + ", '" + s_vremja + "', '"


+ name + "', '" + passport + "', " + lgota + ")";

My_Execute_Non_Query(CommandText);

}

private void Add_Marshrut(string num_marsh, string punkt, string rajon, string oblast, double rasst, double ves, DateTime vremja_otpr, DateTime vremja_prib)

{

string CommandText;

string s_otpr, s_prib;

string s_ves, s_rasst;
s_otpr = Convert.ToString(vremja_otpr); // переводим время отправки в строку

s_prib = Convert.ToString(vremja_prib); // переводим время прибытия в строку

s_ves = Convert.ToString(ves); // переводим вес из double в строку

s_ves = s_ves.Replace(',', '.'); // меняем запятую на точку согласно синтаксису SQL

s_rasst = Convert.ToString(rasst); // переводим расстояние из double в string

s_rasst = s_rasst.Replace(',', '.'); // меняем запятую на точку
CommandText = "INSERT INTO [Маршрут] ([Номер маршрута], [Пункт назначения], Район, Область, Расстояние, Вес, [Время отправки], [Время прибытия])"

+ " VALUES ('" + num_marsh + "', '" + punkt + "', '" + rajon + "', '" + oblast + "', "

+ s_rasst + ", " + s_ves + ", '" + s_otpr + "', '" + s_prib + "')";

My_Execute_Non_Query(CommandText);

}

private void Add_Avtobus(string num, string model, string znak, string k_mest)

{

string CommandText;

CommandText = "INSERT INTO [Автобус] ([Номер], [Модель], [Номерной знак], [Количество мест])"

+ " VALUES ('" + num + "', '" + model + "', '" + znak + "', " + k_mest + ")";

My_Execute_Non_Query(CommandText);

}

private void Add_Voditel(string f_i_o, string d_r, string passport) // добавить водителя

{

string CommandText;

CommandText = "INSERT INTO [Водитель] ([Ф_И_О], [Дата рождения], [Паспорт])"

+ " VALUES ('" + f_i_o + "', '" + d_r + "', '" + passport + "')";

My_Execute_Non_Query(CommandText);

}

private void Add_Dispetcher(string f_i_o, string d_r, string adres) // добавить диспетчера

{

string CommandText;

CommandText = "INSERT INTO [Диспетчер] ([Ф_И_О], [Дата рождения], [Адрес])"

+ " VALUES ('" + f_i_o + "', '" + d_r + "', '" + adres + "')";

My_Execute_Non_Query(CommandText);

}

По нажатию на кнопку «Добавление» из окна «Команды» происходит добавление записи в определённую таблицу, при выборе comboBox индекса таблицы в переменную act_table заносится число и по этому числу код определяет в какую таблицу будет добавляться данные и открывает соответствующую форму для добавления записи в таблицу.

private void button9_Click(object sender, EventArgs e)

{

if (act_table == 1) // обрабатываем таблицу "Билет"

{

Form4 f = new Form4();
if (f.ShowDialog() == DialogResult.OK)

{

// добавляем данные в таблицу "Билеты"

Add_Bilet(f.textBox1.Text, f.textBox2.Text, Convert.ToDateTime(f.textBox3.Text),

f.textBox4.Text, f.textBox5.Text, f.checkBox1.Checked);

Get_Bilets();

}

}

else

if (act_table == 2) // обрабатываем таблицу "Маршрут"

{

Form5 f = new Form5();

if (f.ShowDialog() == DialogResult.OK)

{

// добавляем данные в таблицу "Маршрут"

Add_Marshrut(f.textBox1.Text, f.textBox2.Text, f.textBox3.Text, f.textBox4.Text,

Convert.ToDouble(f.textBox5.Text), Convert.ToDouble(f.textBox6.Text),

f.dateTimePicker1.Value, f.dateTimePicker2.Value);

Get_Marshruts();

}

}

else

if (act_table == 3) // обрабатываем таблицу "Автобус"

{

Form6 f = new Form6();

if (f.ShowDialog() == DialogResult.OK)

{

// добавляем данные в таблицу "Автобус"



Add_Avtobus(f.textBox1.Text, f.textBox2.Text, f.textBox3.Text, f.textBox4.Text);

Get_Avtobus();

}

}

else

if (act_table == 4) // обрабатываем таблицу "Водитель"

{

Form7 f = new Form7();

if (f.ShowDialog() == DialogResult.OK)

{

// добавляем данные в таблицу "Водитель"

Add_Voditel(f.textBox1.Text, Convert.ToString(f.dateTimePicker1.Value), f.textBox2.Text);

Get_Voditel();

}

}

else

if (act_table == 5) // обрабатываем таблицу "Диспетчер"

{

Form8 f = new Form8();

if (f.ShowDialog() == DialogResult.OK)

{

// добавляем данные в таблицу "Диспетчер"

Add_Dispetcher(f.textBox1.Text, Convert.ToString(f.dateTimePicker1.Value), f.textBox2.Text);

Get_Dispetcher();

}

}

}

При нажатии на кнопку «Удаление» из окна «Команды» происходит то же самое, что и при добавлении, но происходит удаление выделенной строки в datagridView2 определённой таблицы, также основываясь на переменной act_table.

private void button10_Click(object sender, EventArgs e)

{

Form3 f = new Form3();

f.Text = " ";

if (f.ShowDialog() == DialogResult.OK)

{

int index, index_old;

string ID;

string CommandText = "DELETE FROM ";

index = dataGridView2.CurrentRow.Index; // № по порядку в таблице представления

index_old = index;

ID = Convert.ToString(dataGridView2[0, index].Value); // ID подаем в запрос как строку
// Формируем строку CommandText

if (act_table == 1) // обрабатываем таблицу "Билет"

CommandText = "DELETE FROM Билет WHERE Билет.ID_Bilet = " + ID;

if (act_table == 2) // обрабатываем таблицу "Маршрут"

CommandText = "DELETE FROM Маршрут WHERE Маршрут.ID_Marshrut = " + ID;

if (act_table == 3) // обрабатываем таблицу "Автобус"

CommandText = "DELETE FROM Автобус WHERE Автобус.ID_Avtobus = " + ID;

if (act_table == 4) // обрабатываем таблицу "Водитель"

CommandText = "DELETE FROM Водитель WHERE Водитель.ID_Voditel = " + ID;

if (act_table == 5) // обрабатываем таблицу "Диспетчер"

CommandText = "DELETE FROM Диспетчер WHERE Диспетчер.ID_Dispetcher = " + ID;

// выполняем SQL-запрос

My_Execute_Non_Query(CommandText);
// перерисовывание dbGridView2

if (act_table == 1) Get_Bilets();

else

if (act_table == 2) Get_Marshruts();

else

if (act_table == 3) Get_Avtobus();

else

if (act_table == 4) Get_Voditel();

else

if (act_table == 5) Get_Dispetcher();
if (index_old >= 0)

{

dataGridView2.ClearSelection();

dataGridView2[0, index_old].Selected = true;

}

}

}

}

}

Form2.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Data.OleDb;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;
namespace Автовокзал

{

public partial class Form2 : Form

{

public Form2()

{

InitializeComponent();

}

При нажатии на кнопки «Добавить» или «Удалить» происходит добавление записи в таблицу «перевозка» или удаление соответственно.

private void button3_Click(object sender, EventArgs e)

{

this.DialogResult = DialogResult.OK;

}

private void button4_Click(object sender, EventArgs e)

{

this.DialogResult = DialogResult.No;

}

Эта команда выводит таблицы в каждую datagridView для выборки строки.


private void Get_Table(string table_name, int num_dG)

{

Form1 f1 = new Form1();

string CommandText = "SELECT * FROM ";

CommandText += table_name;

OleDbDataAdapter dataAdapter = new OleDbDataAdapter(CommandText, f1.ConnectionString);

DataSet ds = new DataSet();

dataAdapter.Fill(ds, table_name);

if (num_dG == 1) dataGridView1.DataSource = ds.Tables[table_name].DefaultView;

if (num_dG == 2) dataGridView2.DataSource = ds.Tables[table_name].DefaultView;

if (num_dG == 3) dataGridView3.DataSource = ds.Tables[table_name].DefaultView;

if (num_dG == 4) dataGridView4.DataSource = ds.Tables[table_name].DefaultView;

if (num_dG == 5) dataGridView5.DataSource = ds.Tables[table_name].DefaultView;

}

При загрузке формы datagridView заполняются данными из каждой таблицы соответственно.

private void Form2_Load(object sender, EventArgs e)

{

Get_Table("Маршрут", 1); // заполняем таблицу "Маршрут"

Get_Table("Билет", 2); // заполняем таблицу "Билет"

Get_Table("Водитель", 3);

Get_Table("Автобус", 4);

Get_Table("Диспетчер", 5);

textBox1.Text = "0";

comboBox1.SelectedIndex = 0;

comboBox2.SelectedIndex = 0;

comboBox3.SelectedIndex = 0;

comboBox4.SelectedIndex = 0;

comboBox5.SelectedIndex = 0;

}

Эта команда выводит в окно «Выбрано» те данные, которые были вынесены в datagridView по каждой таблице.

private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)

{

int row;

// Берем данные из ячеек таблицы "Маршрут"

row = dataGridView1.CurrentCell.RowIndex;

label2.Text = "Маршрут - " + "№" + Convert.ToString(dataGridView1[1, row].Value) +

"/" + Convert.ToString(dataGridView1[2, row].Value) +

"/" + Convert.ToString(dataGridView1[3, row].Value) +

"/" + Convert.ToString(dataGridView1[4, row].Value) +

"/" + Convert.ToString(dataGridView1[7, row].Value) +

" - " + Convert.ToString(dataGridView1[8, row].Value);

}

private void dataGridView2_CellEnter(object sender, DataGridViewCellEventArgs e)

{

int row;

// так же берем данные из таблицы "Билет"

row = dataGridView2.CurrentCell.RowIndex;

label3.Text = "Билет: место №" + Convert.ToString(dataGridView2[1, row].Value) +

" / " + Convert.ToString(dataGridView2[2, row].Value) +

" / " + Convert.ToString(dataGridView2[3, row].Value) +

" / " + Convert.ToString(dataGridView2[4, row].Value) +

" / " + Convert.ToString(dataGridView2[5, row].Value) +

" / " + Convert.ToString(dataGridView2[6, row].Value);

}

private void dataGridView3_CellEnter(object sender, DataGridViewCellEventArgs e)

{

int row;

// Данные о водителе

row = dataGridView3.CurrentCell.RowIndex;

label4.Text = "Водитель: " + Convert.ToString(dataGridView3[1, row].Value);

}

private void dataGridView4_CellEnter(object sender, DataGridViewCellEventArgs e)

{

int row;

// Информация об автобусе

row = dataGridView4.CurrentCell.RowIndex;

label5.Text = "Автобус: №" + Convert.ToString(dataGridView4[1, row].Value) +

" / " + Convert.ToString(dataGridView4[2, row].Value) +

" / " + Convert.ToString(dataGridView4[3, row].Value) +

" / " + Convert.ToString(dataGridView4[4, row].Value);

}

private void dataGridView5_CellEnter(object sender, DataGridViewCellEventArgs e)

{

int row;

// Информация о диспетчере

row = dataGridView5.CurrentCell.RowIndex;

label6.Text = "Диспетчер: " + Convert.ToString(dataGridView5[1, row].Value);

}

При нажатии на эти кнопки мы осуществляем поиск по определённой ячейке, то есть по фамилии или номеру.

private void button1_Click(object sender, EventArgs e)

{

// Фильтр к таблице "Маршрут"

string CommandText = "SELECT * FROM [Маршрут]";


// формируем переменную CommandText

if (textBox2.Text == "")

CommandText = "SELECT * FROM [Маршрут]";

else

if (comboBox1.SelectedIndex == 0) // № перевозки

CommandText = "SELECT * FROM [Маршрут] WHERE [Номер маршрута] = '" + textBox2.Text + "'"; // работает

else

if (comboBox1.SelectedIndex == 1) //

CommandText = "SELECT * FROM [Маршрут] WHERE [Пункт назначения] LIKE '" + textBox2.Text + "%'";

else

if (comboBox1.SelectedIndex == 2) // Район

CommandText = "SELECT * FROM [Маршрут] WHERE Район LIKE '" + textBox2.Text + "%'";

else

if (comboBox1.SelectedIndex == 3) // Область

CommandText = "SELECT * FROM [Маршрут] WHERE Область LIKE '" + textBox2.Text + "%'";
Form1 f = new Form1();

OleDbDataAdapter dataAdapter = new OleDbDataAdapter(CommandText, f.ConnectionString);

DataSet ds = new DataSet();

dataAdapter.Fill(ds, "[Маршрут]");

dataGridView1.DataSource = ds.Tables[0].DefaultView;

}

private void button2_Click(object sender, EventArgs e)

{

// Фильтр к таблице "Билет"

string CommandText = "SELECT * FROM [Билет]";

// формируем переменную CommandText

if (textBox3.Text == "")

CommandText = "SELECT * FROM [Билет]";

else

if (comboBox2.SelectedIndex == 0) // № перевозки

CommandText = "SELECT * FROM [Билет] WHERE [Место] = " + textBox3.Text;

else

if (comboBox2.SelectedIndex == 1) //

CommandText = "SELECT * FROM [Билет] WHERE [Ф_И_О] LIKE '" + textBox3.Text + "%'";

Form1 f = new Form1();

OleDbDataAdapter dataAdapter = new OleDbDataAdapter(CommandText, f.ConnectionString);

DataSet ds = new DataSet();

dataAdapter.Fill(ds, "[Билет]");

dataGridView2.DataSource = ds.Tables[0].DefaultView;

}
private void button5_Click(object sender, EventArgs e)

{

// Фильтр к таблице "Билет"

string CommandText = "SELECT * FROM [Водитель]";

// формируем переменную CommandText

if (textBox4.Text == "")

CommandText = "SELECT * FROM [Водитель]";

else

if (comboBox3.SelectedIndex == 0) // № перевозки

CommandText = "SELECT * FROM [Водитель] WHERE [ID_Voditel] = " + textBox4.Text;

else

if (comboBox3.SelectedIndex == 1) //

CommandText = "SELECT * FROM [Водитель] WHERE [Паспорт] LIKE '" + textBox4.Text + "%'";

Form1 f = new Form1();

OleDbDataAdapter dataAdapter = new OleDbDataAdapter(CommandText, f.ConnectionString);

DataSet ds = new DataSet();

dataAdapter.Fill(ds, "[Водитель]");

dataGridView3.DataSource = ds.Tables[0].DefaultView;

}
private void button6_Click(object sender, EventArgs e)

{

// Фильтр к таблице "Билет"

string CommandText = "SELECT * FROM [Автобус]";

// формируем переменную CommandText

if (textBox5.Text == "")

CommandText = "SELECT * FROM [Автобус]";

else

if (comboBox4.SelectedIndex == 0) // № перевозки

CommandText = "SELECT * FROM [Автобус] WHERE [Модель] LIKE '" + textBox5.Text + "%'";

else

if (comboBox4.SelectedIndex == 1) //

CommandText = "SELECT * FROM [Автобус] WHERE [Номерной знак] LIKE '" + textBox5.Text + "%'";

Form1 f = new Form1();

OleDbDataAdapter dataAdapter = new OleDbDataAdapter(CommandText, f.ConnectionString);

DataSet ds = new DataSet();

dataAdapter.Fill(ds, "[Автобус]");

dataGridView4.DataSource = ds.Tables[0].DefaultView;

}
private void button7_Click(object sender, EventArgs e)

{

// Фильтр к таблице "Билет"

string CommandText = "SELECT * FROM [Диспетчер]";

// формируем переменную CommandText

if (textBox6.Text == "")

CommandText = "SELECT * FROM [Диспетчер]";

else

if (comboBox5.SelectedIndex == 0) // № перевозки

CommandText = "SELECT * FROM [Диспетчер] WHERE [Ф_И_О] LIKE '" + textBox6.Text + "%'";