
laba4
.pdf21
Приложение Е
Листинг 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);