Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otchyot_0_1.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
498.94 Кб
Скачать

2.6 Таблицы базы данных

Создаем новую форму и после запуска формы из Toolbox добавляем компонент MenuStrip. Вводим названия пунктов главного меню: данные, отчеты, выход. В пункт меню данные входят подменю: Очередники, Сотрудники. В подменю Очередники сведения входят еще несколько подменю: Общие сведения, Родственники, Группы. В подменю сотрудники сотрудников входят: Общие сведения, Должности.

Рисунок 14. Главная форма. Меню «Данные» и подменю «Очередники»

В подменю отчеты входят: Запись, Очередники, Сотрудники

Рисунок 15. Меню «Отчёты»

Каждый пункт меню служит для вызова соответствующей таблицы или отчета. Кнопка выход для закрытия программы.

Код Form1.

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.Collections;

using System.Data.SqlClient;

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

SqlConnection conn = null;

public Form1()

{

InitializeComponent();

}

private void данныеToolStripMenuItem_Click(object sender, EventArgs e)

{

}

private void выходToolStripMenuItem_Click(object sender, EventArgs e)

{

this.Close();

}

private void сотрудникиToolStripMenuItem_Click(object sender, EventArgs e)

{

}

private void Form1_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "administraciyaDataSetZapis.Запись". При необходимости она может быть перемещена или удалена.

this.записьTableAdapter.Fill(this.administraciyaDataSetZapis.Запись);

}

private void button1_Click(object sender, EventArgs e)

{

tabControl1.SelectedTab = tabPage2;

}

private void button2_Click(object sender, EventArgs e)

{

try

{

int ID = Convert.ToInt16(textBox1.Text);

int IDSotr = int.Parse(this.comboBox1.SelectedValue.ToString());

int IDOcher = int.Parse(this.comboBox2.SelectedValue.ToString());

int IDChelen = int.Parse(this.comboBox3.SelectedValue.ToString());

int IDGroup = int.Parse(this.comboBox4.SelectedValue.ToString());

string Primech = this.textBox6.Text;

conn = new SqlConnection();

conn.ConnectionString = "integrated security=SSPI;data source=\".\";persist security info=False; initial catalog=administraciya";//check

conn.Open();

SqlCommand myCommand = conn.CreateCommand();

myCommand.CommandText = "INSERT INTO [Запись] ([Номер записи],[ID сотрудника],[ID очередника],[ID члена семьи],[ID группы],Примечание) VALUES (@ID,@IDSotr,@IDOcher,@IDChelen,@IDGroup,@Primech)";//check

myCommand.Parameters.Add("@ID", SqlDbType.Int, 4);

myCommand.Parameters["@ID"].Value = ID;

myCommand.Parameters.Add("@IDSotr", SqlDbType.Int, 4);

myCommand.Parameters["@IDSotr"].Value = IDSotr;

myCommand.Parameters.Add("@IDOcher", SqlDbType.Int, 4);

myCommand.Parameters["@IDOcher"].Value = IDOcher;

myCommand.Parameters.Add("@IDChelen", SqlDbType.Int, 4);

myCommand.Parameters["@IDChelen"].Value = IDChelen;

myCommand.Parameters.Add("@IDGroup", SqlDbType.Int, 4);

myCommand.Parameters["@IDGroup"].Value = IDGroup;

myCommand.Parameters.Add("@Primech", SqlDbType.NChar, 100);

myCommand.Parameters["@Primech"].Value = Primech;

int Uspeh = myCommand.ExecuteNonQuery();

if (Uspeh != 0)

{

MessageBox.Show("Изменения внесены");

}

else

{

MessageBox.Show("Не удалось внести изменения");

}

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

finally

{

conn.Close();

}

this.записьTableAdapter.Fill(this.administraciyaDataSetZapis.Запись);

this.tabControl1.SelectedTab = tabPage1;

}

private void button3_Click(object sender, EventArgs e)

{

tabControl1.SelectedTab = tabPage1;

}

private void button4_Click(object sender, EventArgs e)

{

int IDZap = int.Parse(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells["НомерзаписиDataGridViewTextBoxColumn"].Value.ToString());//check

DialogResult result = MessageBox.Show("Удалить запись под номером " + Convert.ToString(IDZap) + "?", "Предупреждение", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);

switch (result)

{

case DialogResult.Yes:

{

try

{

conn = new SqlConnection();

conn.ConnectionString = "integrated security=SSPI;data source=\".\";persist security info=False; initial catalog=Administraciya";//check

conn.Open();

SqlCommand myCommand = conn.CreateCommand();

myCommand.CommandText = "DELETE FROM [Запись] WHERE [Номер записи]=@IDZap";

myCommand.Parameters.Add("@IDZap", SqlDbType.Int, 4);

myCommand.Parameters["@IDZap"].Value = IDZap;

int Uspeh = myCommand.ExecuteNonQuery();

if (Uspeh != 0)

{

MessageBox.Show("Изменения внесены");

}

else

{

MessageBox.Show("Не удалось внести изменения");

}

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

finally

{

conn.Close();

}

this.записьTableAdapter.Fill(this.administraciyaDataSetZapis.Запись);

break;

}

}

}

private void dataGridView1_Click(object sender, EventArgs e)

{

try

{

int IDSotrud = int.Parse(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells["IDсотрудникаDataGridViewTextBoxColumn"].Value.ToString());

int IDOchered = int.Parse(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells["IDочередникаDataGridViewTextBoxColumn"].Value.ToString());

int IDOchelen = int.Parse(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells["IDчленасемьиDataGridViewTextBoxColumn"].Value.ToString());

int IDGroup = int.Parse(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells["IDгруппыDataGridViewTextBoxColumn"].Value.ToString());

conn = new SqlConnection();

conn.ConnectionString = "integrated security=SSPI;data source=\".\";persist security info=False; initial catalog=Administraciya";//check

SqlCommand myCommand = conn.CreateCommand();

myCommand.CommandType = CommandType.StoredProcedure;

myCommand.CommandText = "[ID_to_Zapis]";

//номер сотрудника ->

myCommand.Parameters.Add("@IDSotrud", SqlDbType.Int, 4);

myCommand.Parameters["@IDSotrud"].Value = IDSotrud;

myCommand.Parameters["@IDSotrud"].Direction = ParameterDirection.Input;

//номер очередника->

myCommand.Parameters.Add("@IDOchered", SqlDbType.Int, 4);

myCommand.Parameters["@IDOchered"].Value = IDOchered;

myCommand.Parameters["@IDOchered"].Direction = ParameterDirection.Input;

//номер члена семьи->

myCommand.Parameters.Add("@IDOchelen", SqlDbType.Int, 4);

myCommand.Parameters["@IDOchelen"].Value = IDOchelen;

myCommand.Parameters["@IDOchelen"].Direction = ParameterDirection.Input;

//номер группы->

myCommand.Parameters.Add("@IDGroup", SqlDbType.Int, 4);

myCommand.Parameters["@IDGroup"].Value = IDGroup;

myCommand.Parameters["@IDGroup"].Direction = ParameterDirection.Input;

//Имя сотрудника <-

myCommand.Parameters.Add("@Sotrud_Name", SqlDbType.NChar, 100);

myCommand.Parameters["@Sotrud_Name"].Direction = ParameterDirection.Output;

//ФИО очередника <-

myCommand.Parameters.Add("@Ochered_Name", SqlDbType.NChar, 100);

myCommand.Parameters["@Ochered_Name"].Direction = ParameterDirection.Output;

//ФИО родственника <-

myCommand.Parameters.Add("@Chelen_name", SqlDbType.NChar, 100);

myCommand.Parameters["@Chelen_name"].Direction = ParameterDirection.Output;

//Название группы <-

myCommand.Parameters.Add("@Group_name", SqlDbType.NChar, 100);

myCommand.Parameters["@Group_name"].Direction = ParameterDirection.Output;

conn.Open();

myCommand.ExecuteScalar();

textBox3.Text = Convert.ToString(myCommand.Parameters["@Sotrud_Name"].Value);

textBox4.Text = Convert.ToString(myCommand.Parameters["@Ochered_Name"].Value);

textBox5.Text = Convert.ToString(myCommand.Parameters["@Chelen_name"].Value);

textBox7.Text = Convert.ToString(myCommand.Parameters["@Group_name"].Value);

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

finally

{

conn.Close();

}

}

private void общиеСведенияToolStripMenuItem_Click(object sender, EventArgs e)

{

Form2 f2 = new Form2();

f2.Show();

}

private void должностиToolStripMenuItem_Click(object sender, EventArgs e)

{

Form3 f3 = new Form3();

f3.Show();

}

private void группыToolStripMenuItem1_Click(object sender, EventArgs e)

{

Form4 f4 = new Form4();

f4.Show();

}

private void общиеСведенияToolStripMenuItem1_Click(object sender, EventArgs e)

{

Form5 f5 = new Form5();

f5.Show();

}

private void группыToolStripMenuItem_Click(object sender, EventArgs e)

{

Form6 f6 = new Form6();

f6.Show();

}

private void журналУчётаПосещенийToolStripMenuItem_Click(object sender, EventArgs e)

{

Form7 f7 = new Form7();

f7.Show();

}

private void услугиToolStripMenuItem1_Click(object sender, EventArgs e)

{

Form8 f8 = new Form8();

f8.Show();

}

private void сотрудникиToolStripMenuItem1_Click(object sender, EventArgs e)

{

Form9 f9 = new Form9();

f9.Show();

}

}

}

(Программный код. Главная форма «Запись»)

Скриншоты таблиц:

Р исунок 16. Форма «Очередники», работа с таблицей «Очередники

Рисунок 17. Форма «Родственники», работа с таблицей «Родственники»

Рисунок 18. Форма «Группы», работа с таблицей «Группа»

Рисунок 19. Форма «Сотрудники», работа с таблицей «Сотрудники»

Р исунок 20. Форма «Должности», работа с таблицей «Должности»

В каждую таблицу были добавлены кнопки для удобной работы с данными и TabControl. Кнопка добавить служит для переключения добавления новых записей, кнопка удалить для удаления.

При нажатии кнопки «Добавить», программа переключается c TabPage1 на TabPage2 где организованны поля ввода данных.

private void button2_Click(object sender, EventArgs e)

{

tabControl1.SelectedTab = tabPage2;

}

(Программный код кнопки «Добавить запись» на каждой форме)

Рисунок 21, Переключение на вторую страницу TabControl главной формы «Запись»

После заполнения всех полей нужно нажать кнопку «сохранить» для сохранения результатов или отмена для перехода обратно с TabPage2 на TabPage1. (Рис.26)

Код кнопки «сохранить»:

private void button2_Click(object sender, EventArgs e)

{

try

{

int ID = Convert.ToInt16(textBox1.Text);

int IDSotr = int.Parse(this.comboBox1.SelectedValue.ToString());

int IDOcher = int.Parse(this.comboBox2.SelectedValue.ToString());

int IDChelen = int.Parse(this.comboBox3.SelectedValue.ToString());

int IDGroup = int.Parse(this.comboBox4.SelectedValue.ToString());

string Primech = this.textBox6.Text;

conn = new SqlConnection();

conn.ConnectionString = "integrated security=SSPI;data source=\".\";persist security info=False; initial catalog=administraciya";//check

conn.Open();

SqlCommand myCommand = conn.CreateCommand();

myCommand.CommandText = "INSERT INTO [Запись] ([Номер записи],[ID сотрудника],[ID очередника],[ID члена семьи],[ID группы],Примечание) VALUES (@ID,@IDSotr,@IDOcher,@IDChelen,@IDGroup,@Primech)";//check

myCommand.Parameters.Add("@ID", SqlDbType.Int, 4);

myCommand.Parameters["@ID"].Value = ID;

myCommand.Parameters.Add("@IDSotr", SqlDbType.Int, 4);

myCommand.Parameters["@IDSotr"].Value = IDSotr;

myCommand.Parameters.Add("@IDOcher", SqlDbType.Int, 4);

myCommand.Parameters["@IDOcher"].Value = IDOcher;

myCommand.Parameters.Add("@IDChelen", SqlDbType.Int, 4);

myCommand.Parameters["@IDChelen"].Value = IDChelen;

myCommand.Parameters.Add("@IDGroup", SqlDbType.Int, 4);

myCommand.Parameters["@IDGroup"].Value = IDGroup;

myCommand.Parameters.Add("@Primech", SqlDbType.NChar, 100);

myCommand.Parameters["@Primech"].Value = Primech;

int Uspeh = myCommand.ExecuteNonQuery();

if (Uspeh != 0)

{

MessageBox.Show("Изменения внесены");

}

else

{

MessageBox.Show("Не удалось внести изменения");

}

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

finally

{

conn.Close();

}

this.записьTableAdapter.Fill(this.administraciyaDataSetZapis.Запись);

this.tabControl1.SelectedTab = tabPage1;

}

(Программный код кнопки «Сохранить»)

private void button4_Click(object sender, EventArgs e)

{ tabControl1.SelectedTab = tabPage1; }

(Программный код кнопки «Отмена»)

private void button4_Click(object sender, EventArgs e)

{

int IDZap = int.Parse(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells["НомерзаписиDataGridViewTextBoxColumn"].Value.ToString());//check

DialogResult result = MessageBox.Show("Удалить запись под номером " + Convert.ToString(IDZap) + "?", "Предупреждение", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);

switch (result)

{

case DialogResult.Yes:

{

try

{

conn = new SqlConnection();

conn.ConnectionString = "integrated security=SSPI;data source=\".\";persist security info=False; initial catalog=Administraciya";//check

conn.Open();

SqlCommand myCommand = conn.CreateCommand();

myCommand.CommandText = "DELETE FROM [Запись] WHERE [Номер записи]=@IDZap";

myCommand.Parameters.Add("@IDZap", SqlDbType.Int, 4);

myCommand.Parameters["@IDZap"].Value = IDZap;

int Uspeh = myCommand.ExecuteNonQuery();

if (Uspeh != 0)

{

MessageBox.Show("Изменения внесены");

}

else

{

MessageBox.Show("Не удалось внести изменения");

}

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

finally

{

conn.Close();

}

this.записьTableAdapter.Fill(this.administraciyaDataSetZapis.Запись);

break;

}

}

}

(Программный код кнопки «удалить запись»)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]