Задание
- Создать базу данных (БД), состоящую из 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, поменять путь к базе, запустить проект.
Телеграм
-