Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

laba4

.pdf
Скачиваний:
2
Добавлен:
26.11.2022
Размер:
1.28 Mб
Скачать

21

Приложение Е

Листинг FormVUZ1

using System;

using System.Windows.Forms;

namespace BAZA

{

public partial class FormVUZ1 : Form

{

public FormVUZ1()

{

InitializeComponent();

}

private void вУЗBindingNavigatorSaveItem_Click(object sender, EventArgs e)

{

this.Validate(); this.вУЗBindingSource.EndEdit();

this.tableAdapterManager.UpdateAll(this.vUZDataSet);

}

private void FormVUZ1_Load(object sender, EventArgs e)

{

this.вУЗTableAdapter.Fill(this.vUZDataSet.ВУЗ);

}

}

}

22

Приложение Ё

Листинг KonkursniySpisok

using System;

using System.Windows.Forms;

namespace BAZA

{

public partial class KonkursniySpisok : Form

{

public KonkursniySpisok()

{

InitializeComponent();

}

private void конкурсный_списокBindingNavigatorSaveItem_Click(object sender, EventArgs e)

{

this.Validate(); this.конкурсный_списокBindingSource.EndEdit(); this.tableAdapterManager.UpdateAll(this.vUZDataSet);

}

private void KonkursniySpisok_Load(object sender, EventArgs e)

{

this.абитуриентTableAdapter.Fill(this.vUZDataSet.абитуриент); this.конкурсный_списокTableAdapter.Fill(this.vUZDataSet.Конкурсный_список);

}

private void button1_Click(object sender, EventArgs e)

{

FormAbiturient fa = new FormAbiturient(); fa.Show();

}

}

}

23

Приложение Ж

Листинг FormSQL

using System; using System.Data;

using System.Windows.Forms; using System.Data.SqlClient;

namespace BAZA

{

public partial class FormSQL : Form

{

public FormSQL()

{

InitializeComponent();

}

DataTable FillDataGridView(string sqlSelect)

{

SqlConnection connection = new SqlConnection(Properties.Settings.Default.VUZConnectionString); SqlCommand command = connection.CreateCommand(); command.CommandText = sqlSelect;

SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = command;

DataTable table = new DataTable(); adapter.Fill(table);

return table;

}

private void radioButtonAbiturient_CheckedChanged(object sender, EventArgs e)

{

dataGridViewSelect.DataSource = FillDataGridView("SELECT * FROM абитуриент");

24

}

private void radioButtonSpisok_CheckedChanged(object sender, EventArgs e)

{

dataGridViewSelect.DataSource = FillDataGridView("SELECT * FROM

Конкурсный_список");

}

private void radioButtonSpecialnosti_CheckedChanged(object sender, EventArgs e)

{

dataGridViewSelect.DataSource = FillDataGridView("SELECT * FROM Специальности");

}

private void buttonF_select_Click(object sender, EventArgs e)

{

if (String.IsNullOrEmpty(textBoxAbiturient.Text))

{

MessageBox.Show("Обязательно укажите ФИО необходимого абитуриента.", "Внимание", MessageBoxButtons.OK,

MessageBoxIcon.Warning);

return;

}

if (checkBoxMore.Checked && String.IsNullOrEmpty(textBoxMore.Text))

{

MessageBox.Show("Не указано количество баллов", "Внимание",

MessageBoxButtons.OK, MessageBoxIcon.Warning); checkBoxMore.Checked = false;

return;

}

string sqlSelect = "";

if (radioButtonDet_EGE.Checked)

sqlSelect = @"SELECT Конкурсный_список.ID_абитуриента, Конкурсный_список.Результаты_ЕГЭ, абитуриент.ФИО

25

FROM Конкурсный_список INNER JOIN

абитуриент ON Конкурсный_список.ID_абитуриента = абитуриент.ID WHERE абитуриент.ФИО = textBoxAbiturient.Text";

else

if (radioButtonDet_KodS.Checked)

sqlSelect = @"SELECT абитуриент.ФИО, Конкурсный_список.Код_специальности

FROM абитуриент INNER JOIN

Конкурсный_список ON абитуриент.ID = Конкурсный_список.ID_абитуриента

WHERE абитуриент.ФИО = textBoxAbiturient.Text "; else

sqlSelect = @"SELECT абитуриент.ФИО, абитуриент.Паспорт, абитуриент.Контактные_данные, Конкурсный_список.Результаты_ЕГЭ, Конкурсный_список.Место_в_списке, Конкурсный_список.Код_специальности,

абитуриент.Наличие_аттестата

FROM абитуриент INNER JOIN

Конкурсный_список ON абитуриент.ID = Конкурсный_список.ID_абитуриента"; if (checkBoxMore.Checked)

sqlSelect = @"SELECT Результаты_ЕГЭ, ФИО

FROM абитуриент

WHERE Результаты_ЕГЭ > textBoxMore.Text

ORDER BY Результаты_ЕГЭ";

if (checkBoxOrder.Checked)

sqlSelect = @"SELECT Результаты_ЕГЭ, ФИО

FROM абитуриент

ORDER BY Результаты_ЕГЭ desc";

SqlConnection connection = new SqlConnection(Properties.Settings.Default.VUZConnectionString); SqlCommand command = connection.CreateCommand(); command.CommandText = sqlSelect; command.Parameters.AddWithValue("@FIO", textBoxAbiturient.Text + "%");

26

if (checkBoxMore.Checked) try

{

command.Parameters.Add("@amount", SqlDbType.Money).Value = Double.Parse(textBoxMore.Text);

}

catch

{

MessageBox.Show("Баллы должны быть заданы числом", "ошибка",

MessageBoxButtons.OK, MessageBoxIcon.Error); checkBoxMore.Checked = false; return;

}

SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = command;

DataTable table = new DataTable(); adapter.Fill(table); dataGridViewFSelect.DataSource = table;

if (table.Rows.Count == 0) MessageBox.Show("Нет значений!", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

private void buttonSubquery_Click(object sender, EventArgs e)

{

if (String.IsNullOrEmpty(textBoxNumber.Text))

{

MessageBox.Show("Обязательно укажите номер абитуриента", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Warning); return;

}

string sqlSelect = "";

if (radioButtonCorrelated.Checked)

27

sqlSelect = @"SELECT Конкурсный_список.ID_абитуриента, абитуриент.ФИО, абитуриент.Паспорт, абитуриент.Наличие_аттестата, абитуриент.Контактные_данные, Конкурсный_список.Результаты_ЕГЭ, Конкурсный_список.Место_в_списке,

Конкурсный_список.Код_специальности

FROM абитуриент INNER JOIN

Конкурсный_список ON абитуриент.ID = Конкурсный_список.ID_абитуриента";

else

if (radioButtonNoCorrelated.Checked)

sqlSelect = @"SELECT Конкурсный_список.ID_абитуриента, Конкурсный_список.Место_в_списке, Конкурсный_список.Код_специальности, Конкурсный_список.Количество_абитуриентов

FROM абитуриент INNER JOIN

Конкурсный_список ON абитуриент.ID = Конкурсный_список.ID_абитуриента";

else

{

MessageBox.Show("Не выбрали вид подзапроса", "Ошибка",

MessageBoxButtons.OK, MessageBoxIcon.Error);

return;

}

SqlConnection connection = new

SqlConnection(Properties.Settings.Default.VUZConnectionString);

SqlCommand command = connection.CreateCommand();

command.CommandText = sqlSelect;

try

{

command.Parameters.Add("@number", SqlDbType.Int).Value =

int.Parse(textBoxNumber.Text);

}

catch

{

MessageBox.Show("Номер абитуриента должен быть задан числом", "Ошибка",

MessageBoxButtons.OK, MessageBoxIcon.Error);

return;

28

}

SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = command;

DataTable table = new DataTable(); adapter.Fill(table); dataGridViewSubquery.DataSource = table;

if (table.Rows.Count == 0) MessageBox.Show("Нет значений!", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

private void buttonZapros_Click(object sender, EventArgs e)

{

if (radioButtonAb.Checked) Insert();

else

if (radioButtonChange.Checked) Update();

else

if (radioButtonDelete.Checked) Delete();

else

MessageBox.Show("Вы не выбрали действие", "Внимание",

MessageBoxButtons.OK, MessageBoxIcon.Warning);

}

private void buttonShowAbiturient_Click(object sender, EventArgs e)

{

dataGridViewSelect.DataSource = FillDataGridView("SELECT * FROM

Конкурсный_список");

}

void Insert()

{

29 if (String.IsNullOrEmpty(textBoxKod.Text) ||

(String.IsNullOrEmpty(textBoxFIO.Text) || (String.IsNullOrEmpty(textBoxEGE.Text) || (String.IsNullOrEmpty(textBoxPlace.Text)))))

{

MessageBox.Show("Обязательно введите код абитуриента, ФИО, баллы егэ и место в списке", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Warning);

return;

}

int id;

if (!int.TryParse(textBoxKod.Text, out id))

{

MessageBox.Show("Некоректное значение кода абитуриента!", "Внимание",

MessageBoxButtons.OK, MessageBoxIcon.Warning); return;

}

int ege;

if (!int.TryParse(textBoxEGE.Text, out ege))

{

MessageBox.Show("Некоректное значение баллов!", "Внимание",

MessageBoxButtons.OK, MessageBoxIcon.Warning); return;

}

int place;

if (!int.TryParse(textBoxPlace.Text, out place))

{

MessageBox.Show("Некоректное значение места в списке!", "Внимание",

MessageBoxButtons.OK, MessageBoxIcon.Warning); return;

}

string sqlInsert = @"INSERT INTO Конкурсный_список (ID_абитуриента,

30

Результаты_ЕГЭ, Место_в_списке)

VALUES (@id, @FIO, @ege, @place)";

SqlConnection connection = new

SqlConnection(Properties.Settings.Default.VUZConnectionString);

connection.Open();

SqlCommand command = connection.CreateCommand(); command.CommandText = sqlInsert; command.Parameters.AddWithValue("@id", id); command.Parameters.AddWithValue("@FIO", textBoxFIO.Text); command.Parameters.AddWithValue("@ege", ege); command.Parameters.AddWithValue("@place", place);

try

{

command.ExecuteNonQuery();

}

catch (Exception err)

{

MessageBox.Show("Ошибка выполнения запроса.\n" + err.Message,

"Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return;

}

connection.Close();

}

void Update()

{

if (String.IsNullOrEmpty(textBoxKod.Text))

{

MessageBox.Show("Обязательно укажите код абитуриента, для которого будете менять данные", "Внимание", MessageBoxButtons.OK,

MessageBoxIcon.Warning);

Соседние файлы в предмете Безопасность систем баз данных