Задание
- Создать базу данных (БД), состоящую из 2-х заданных таблиц. Поля таблиц произвольные, но не менее четырех полей в каждой таблице, включая ключевое поле (поле типа +(Autoincrement)). В таблицу, которая при объединении будет подчиненной, необходимо включить поле, по которому эта таблица будет связана с первичным ключом главной таблицы.
- Разработать Приложение для работы с БД, выполняющее следующие основные функции: просмотр, наполнение, редактирование таблиц; организация связи главный-подчиненный двух таблиц; поиск данных по заданному критерию.
Поиск данных можете реализовать по любому полю, на Ваше усмотрение, подчиненной таблицы.
Функционал программы
- учет спектаклей
- учет продаж
- добавление, изменение, удаление данных
- поиск
Содержание отчета к программе
1 ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ РАЗРАБОТКИ ПРИЛОЖЕНИЙ С ПОЛЬЗОВАТЕЛЬСКИМ ИНТЕРФЕЙСОМ НА ЯЗЫКЕ C#. 4
1.1 Современные языки программирования. 4
1.2 Язык высокого уровня C#. 5
1.3 Windows Forms или Windows Presentation Foundation. 6
1.4 Особенности работы с дизайном при разработке WPF- приложения. 9
2 РАЗРАБОТКА ПРИЛОЖЕНИЯ С ПОЛЬЗОВАТЕЛЬСКИМ ИНТЕРФЕЙСОМ ДЛЯ ТЕАТРА.. 14
2.1 Общие положения. 14
2.2 Назначение и цели создания системы.. 14
2.3 Требования и возможности АИС.. 14
2.4 Разработка приложения для авиакассы.. 15
ЗАКЛЮЧЕНИЕ.. 26
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ.. 27
Фрагмент программного кода
using System; using System.Data; using System.Data.OleDb; using System.Windows.Forms; namespace TheatreApp { public partial class Performances : Form { public Performances() { InitializeComponent(); } OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Users\Пк\OneDrive\Pictures\Desktop\Theatre.mdb"); private void label3_Click(object sender, EventArgs e) { Application.Exit(); } private void Populate() { conn.Open(); string query = "select * from Спектакли "; OleDbDataAdapter da = new OleDbDataAdapter(query, conn); OleDbCommandBuilder builder = new OleDbCommandBuilder(da); var ds = new DataSet(); da.Fill(ds); PerformancesDGV.DataSource = ds.Tables[0]; conn.Close(); } private void Performances_Load(object sender, EventArgs e) { Populate(); } private void guna2Button1_Click(object sender, EventArgs e) { if (IdTb.Text == "" || PerformanceTb.Text == "" || CategoryTb.Text == "") { MessageBox.Show("Missing information"); } else { try { conn.Open(); string query = "insert into Спектакли values (" + IdTb.Text + ", '" + PerformanceTb.Text + "', '" + CategoryTb.Text + "' )"; OleDbCommand cmd = new OleDbCommand(query, conn); cmd.ExecuteNonQuery(); MessageBox.Show("Спектакль добавлен"); conn.Close(); Populate(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } private void guna2Button3_Click(object sender, EventArgs e) { if (IdTb.Text == "") { MessageBox.Show("Missing information"); } else { try { conn.Open(); string query = "delete from Спектакли where [Код]=" + IdTb.Text + ";"; OleDbCommand cmd = new OleDbCommand(query, conn); cmd.ExecuteNonQuery(); MessageBox.Show("Спектакль удален"); conn.Close(); Populate(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } private void PerformancesDGV_CellContentClick(object sender, DataGridViewCellEventArgs e) { IdTb.Text = PerformancesDGV.SelectedRows[0].Cells[0].Value.ToString(); PerformanceTb.Text = PerformancesDGV.SelectedRows[0].Cells[1].Value.ToString(); CategoryTb.Text = PerformancesDGV.SelectedRows[0].Cells[2].Value.ToString(); } private void guna2Button2_Click(object sender, EventArgs e) { if (IdTb.Text == "" || PerformanceTb.Text == "" || CategoryTb.Text == "") { MessageBox.Show("Missing information"); } else { try { conn.Open(); string query = "update Спектакли set Спектакль='" + PerformanceTb.Text + "', Категория='" + CategoryTb.Text + "' where [Код]=" + IdTb.Text + ";"; OleDbCommand cmd = new OleDbCommand(query, conn); cmd.ExecuteNonQuery(); MessageBox.Show("Спектакль изменен"); conn.Close(); Populate(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } private void guna2Button4_Click(object sender, EventArgs e) { Main main = new Main(); main.Show(); Hide(); } } }
Скриншот архива с проектом
Пояснения по запуску программы
Запустить Visual Studio 2019/2022, поменять путь к базе, запустить проект.
admin