UTS-32_IOSU_Guguchkin_A_7
.docxМИНОБРНАУКИ РОССИИ
Федеральное государственное автономное образовательное учреждение высшего образования
«Национальный исследовательский университет
«Московский институт электронной техники»
Направление |
27.03.04 «Управление в технических системах» |
Дисциплина |
Информационное обеспечение систем управления |
|
|
|
|
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
К ЛАБОРАТОРНОЙ РАБОТЕ №7
-
«Создание программы
для работы с БД»
Выполнил Студент гр.УТС-32 Гугучкин А.А. |
|
|
|
|
(подпись) |
|
|
Проверил Свиридов А.Н. |
|
|
|
|
(подпись) |
|
|
Цель: изучить основные возможности программного взаимодействия приложений .NET с базами данных под управлением СУБД Access.
Ход работы:
Отображение, добавление и удаление данных для каждой из таблиц.
Таблица Врач
Таблица Диагноз
Таблица Лечебное учреждение
Таблица Пациент
Таблица Прием
Таблица процедура
Вывод: я изучил основные возможности программного взаимодействия приложений .NET с базами данных под управлением СУБД Access.
Графический интерфейс программы:
Код программы:
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.Data.OleDb;
namespace LR7
{
public partial class Form1 : Form
{
int rb = 0; // перменная содержит ифнормацию о текущей таблице в работе
OleDbConnection cn = new OleDbConnection(
@"Provider = Microsoft.ACE.OLEDB.12.0;" +
@"Data Source = C:\Users\Celestial_Shepherd\Desktop\Lab_3(1).accdb;"
);
OleDbCommand cmd = new OleDbCommand();
public Form1()
{
InitializeComponent();
radioButton1.Checked = true;
textBox1.Enabled = false;
textBox2.Enabled = true;
textBox3.Enabled = true;
textBox4.Enabled = true;
textBox5.Enabled = true;
textBox6.Enabled = true;
textBox7.Enabled = false;
textBox8.Enabled = false;
label1.Text = "Табельный номер врача";
label2.Text = "Номер лечебного учреждения";
label3.Text = "Фамилия";
label4.Text = "Имя";
label5.Text = "Отчество";
label6.Text = "Специальность";
label7.Text = "";
label8.Text = "";
label9.Text = "Фамилия";
}
private void Form1_Load(object sender, EventArgs e)
{
// установка связи между объектом отправки SQL-запросов и
// соединением
cmd.Connection = cn;
}
private void radioButton1_CheckedChanged(object sender, EventArgs e) // врач
{
rb = 0;
textBox1.Enabled = false;
textBox2.Enabled = true;
textBox3.Enabled = true;
textBox4.Enabled = true;
textBox5.Enabled = true;
textBox6.Enabled = true;
textBox7.Enabled = false;
textBox8.Enabled = false;
label1.Text = "Табельный номер врача";
label2.Text = "Номер лечебного учреждения";
label3.Text = "Фамилия";
label4.Text = "Имя";
label5.Text = "Отчество";
label6.Text = "Специальность";
label7.Text = "";
label8.Text = "";
label9.Text = "Фамилия";
}
private void radioButton2_CheckedChanged(object sender, EventArgs e) // диагноз
{
rb = 1;
textBox1.Enabled = false;
textBox2.Enabled = true;
textBox3.Enabled = true;
textBox4.Enabled = false;
textBox5.Enabled = false;
textBox6.Enabled = false;
textBox7.Enabled = false;
textBox8.Enabled = false;
label1.Text = "Идентификатор диагноза";
label2.Text = "Описание диагноза";
label3.Text = "Лечение";
label4.Text = "";
label5.Text = "";
label6.Text = "";
label7.Text = "";
label8.Text = "";
label9.Text = "Описание диагноза";
}
private void radioButton3_CheckedChanged(object sender, EventArgs e) // лечебное учреждение
{
rb = 2;
textBox1.Enabled = false;
textBox2.Enabled = true;
textBox3.Enabled = true;
textBox4.Enabled = true;
textBox5.Enabled = false;
textBox6.Enabled = false;
textBox7.Enabled = false;
textBox8.Enabled = false;
label1.Text = "Номер лечебного заведения";
label2.Text = "Тип лечебного учреждения";
label3.Text = "Специализация лечебного заведения";
label4.Text = "Адрес";
label5.Text = "";
label6.Text = "";
label7.Text = "";
label8.Text = "";
label9.Text = "Адрес";
}
private void radioButton4_CheckedChanged(object sender, EventArgs e) // пациент
{
rb = 3;
textBox1.Enabled = false;
textBox2.Enabled = true;
textBox3.Enabled = true;
textBox4.Enabled = true;
textBox5.Enabled = true;
textBox6.Enabled = true;
textBox7.Enabled = false;
textBox8.Enabled = false;
label1.Text = "Номер страхового";
label2.Text = "Фамилия";
label3.Text = "Имя";
label4.Text = "Отчество";
label5.Text = "Дата рождения";
label6.Text = "Адрес";
label7.Text = "";
label8.Text = "";
label9.Text = "Фамилия";
}
private void radioButton5_CheckedChanged(object sender, EventArgs e) //прием
{
rb = 4;
textBox1.Enabled = false;
textBox2.Enabled = true;
textBox3.Enabled = true;
textBox4.Enabled = true;
textBox5.Enabled = true;
textBox6.Enabled = true;
textBox7.Enabled = true;
textBox8.Enabled = true;
label1.Text = "Номер приема";
label2.Text = "Табельный номер врача";
label3.Text = "Дата приема";
label4.Text = "Время приема";
label5.Text = "Номер кабинета";
label6.Text = "Номер страхового полиса";
label7.Text = "Номер процедуры";
label8.Text = "Идентификатор диагноза";
label9.Text = "Номер приема";
}
private void radioButton6_CheckedChanged(object sender, EventArgs e) // процедура
{
rb = 5;
textBox1.Enabled = false;
textBox2.Enabled = true;
textBox3.Enabled = true;
textBox4.Enabled = true;
textBox5.Enabled = false;
textBox6.Enabled = false;
textBox7.Enabled = false;
textBox8.Enabled = false;
label1.Text = "Номер процедуры";
label2.Text = "Название";
label3.Text = "Длительность";
label4.Text = "Цена";
label5.Text = "";
label6.Text = "";
label7.Text = "";
label8.Text = "";
label9.Text = "Название";
}
private void button1_Click(object sender, EventArgs e) // открыть
{
cn.Open(); // установка соединения
try
{
// очистка содержимого компонента listBox1
listBox1.Items.Clear();
if (rb == 0)
cmd.CommandText = "SELECT * FROM Врач";
else if (rb == 1)
cmd.CommandText = "SELECT * FROM Диагноз";
else if (rb == 2)
cmd.CommandText = "SELECT * FROM [Лечебное учреждение]";
else if (rb == 3)
cmd.CommandText = "SELECT * FROM Пациент";
else if (rb == 4)
cmd.CommandText = "SELECT * FROM Прием";
else
cmd.CommandText = "SELECT * FROM Процедура";
// попытка выполнить запрос,
// доступ к его результату будет осуществляться
// при помощи объекта rd
OleDbDataReader rd = cmd.ExecuteReader();
// если запрос вернул результат
if (rd.HasRows)
{
while (rd.Read())
{
if (rb == 0)
{
listBox1.Items.Add(rd[0].ToString() + " | " + rd[1].ToString() + " | " + rd[2].ToString() + " | " + rd[3].ToString() + " | " + rd[4].ToString() + " | " + rd[5].ToString());
}
else if (rb == 1)
{
listBox1.Items.Add(rd[0].ToString() + " | " + rd[1].ToString() + " | " + rd[2].ToString());
}
else if (rb == 2)
{
listBox1.Items.Add(rd[0].ToString() + " | " + rd[1].ToString() + " | " + rd[2].ToString() + " | " + rd[3].ToString());
}
else if (rb == 3)
{
listBox1.Items.Add(rd[0].ToString() + " | " + rd[1].ToString() + " | " + rd[2].ToString() + " | " + rd[3].ToString() + " | " + rd[4].ToString() + " | " + rd[5].ToString());
}
else if (rb == 4)
{
listBox1.Items.Add(rd[0].ToString() + " | " + rd[1].ToString() + " | " + rd[2].ToString() + " | " + rd[3].ToString() + " | " + rd[4].ToString() + " | " + rd[5].ToString() + " | " + rd[6].ToString() + " | " + rd[7].ToString());
}
else
{
listBox1.Items.Add(rd[0].ToString() + " | " + rd[1].ToString() + " | " + rd[2].ToString() + " | " + rd[3].ToString());
}
}
}
}
finally
{
cn.Close(); // закрытие соединения с БД
}
}
private void button2_Click(object sender, EventArgs e) // добавить
{
cn.Open();
try
{
if (rb == 0)
{
cmd.CommandText =
"INSERT INTO Врач ([Номер лечебного учреждения], Фамилия, Имя, Отчество, Специальность) VALUES ('"
+ textBox2.Text + "','"
+ textBox3.Text + "','"
+ textBox4.Text + "','"
+ textBox5.Text + "','"
+ textBox6.Text + "')";
cmd.ExecuteNonQuery();
cmd.Clone();
}
else if (rb == 1)
{
cmd.CommandText =
"INSERT INTO Диагноз ([Описание диагноза], Лечение) VALUES ('"
+ textBox2.Text + "','"
+ textBox3.Text + "')";
cmd.ExecuteNonQuery();
cmd.Clone();
}
else if (rb == 2)
{
cmd.CommandText =
"INSERT INTO [Лечебное учреждение] ([Тип лечебного учреждения], [Специализация лечебного заведения], Адрес) VALUES ('"
+ textBox2.Text + "','"
+ textBox3.Text + "','"
+ textBox4.Text + "')";
cmd.ExecuteNonQuery();
cmd.Clone();
}
else if (rb == 3)
{
cmd.CommandText =
"INSERT INTO Пациент ( Фамилия, Имя, Отчество, [Дата рождения], Адрес) VALUES ('"
+ textBox2.Text + "','"
+ textBox3.Text + "','"
+ textBox4.Text + "','"
+ textBox5.Text + "','"
+ textBox6.Text + "')";
cmd.ExecuteNonQuery();
cmd.Clone();
}
else if (rb == 4)
{
cmd.CommandText =
"INSERT INTO Прием ([Табельный номер врача], [Дата приема], [Время приема], [Номер кабинета], [Номер страхового полиса], [Номер процедуры], [Идентификатор диагноза]) " +
"VALUES ('"
+ textBox2.Text + "','"
+ textBox3.Text + "','"
+ textBox4.Text + "','"
+ textBox5.Text + "','"
+ textBox6.Text + "','"
+ textBox7.Text + "','"
+ textBox8.Text + "')";
cmd.ExecuteNonQuery();
cmd.Clone();
}
else
{
cmd.CommandText =
"INSERT INTO Процедура (Название, Длительность, Цена) VALUES ('"
+ textBox2.Text + "','"
+ textBox3.Text + "','"
+ textBox4.Text + "')";
cmd.ExecuteNonQuery();
cmd.Clone();
}
}
finally
{
cn.Close();
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
textBox4.Text = "";
textBox5.Text = "";
textBox6.Text = "";
textBox7.Text = "";
textBox8.Text = "";
}
}
private void button3_Click(object sender, EventArgs e) // удалить
{
cn.Open();
try
{
if (rb == 0)
{
cmd.CommandText = "DELETE * FROM Врач WHERE Фамилия ='"
+ textBox9.Text + "'";
cmd.ExecuteNonQuery();
cmd.Clone();
}
else if (rb == 1)
{
cmd.CommandText = "DELETE * FROM Диагноз WHERE [Описание диагноза] ='"
+ textBox9.Text + "'";
cmd.ExecuteNonQuery();
cmd.Clone();
}
else if (rb == 2)
{
cmd.CommandText = "DELETE * FROM [Лечебное учреждение] WHERE Адрес ='"
+ textBox9.Text + "'";
cmd.ExecuteNonQuery();
cmd.Clone();
}
else if (rb == 3)
{
cmd.CommandText = "DELETE * FROM Пациент WHERE Фамилия ='"
+ textBox9.Text + "'";
cmd.ExecuteNonQuery();
cmd.Clone();
}
else if (rb == 4)
{
cmd.CommandText = "DELETE * FROM Прием WHERE [Номер приема] ='"
+ textBox9.Text + "'";
cmd.ExecuteNonQuery();
cmd.Clone();
}
else
{
cmd.CommandText = "DELETE * FROM Процедура WHERE Название ='"
+ textBox9.Text + "'";
cmd.ExecuteNonQuery();
cmd.Clone();
}
}
finally
{
cn.Close();
textBox9.Text = "";
}
}
}
}
Москва 2021г.