Файл: Курсовой проект по дисциплине ПМ. 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 + "%'";