Реализация программы в среде разработки
При старте программы происходит первый подсчет количества зачисленных абитуриентов и вывод надписи с подсказками для пользователя. Он делает запрос в базу, сохраняет полученный ответ в табличном виде и подписывает понятные для пользователя заголовни колонок. Метод обновления данных делает аналогичные проверки, после которых перезаписывает информацию, а поля с данными очищаются. Заполнение полей… Читать ещё >
Реализация программы в среде разработки (реферат, курсовая, диплом, контрольная)
Реализация программы начинается с метода, который выгружает данные из базы на форму.
private void DisplayData ().
{.
con.Open ();
DataTable dt = new DataTable ();
adapt = new SqlDataAdapter («select * from abiturients», con);
adapt.Fill (dt);
dt.Columns[0]. ColumnName = «ID» ;
dt.Columns[1]. ColumnName = «Анкетные данные» ;
dt.Columns[2]. ColumnName = «Совокупность оценок» ;
dt.Columns[3]. ColumnName = «Готовность учиться на договорной основе» ;
dt.Columns[4]. ColumnName = «Зачислен» ;
dataGridView1.DataSource = dt;
con.Close ();
}.
Он делает запрос в базу, сохраняет полученный ответ в табличном виде и подписывает понятные для пользователя заголовни колонок.
Далее идёт метод, который добавляет информацию в базу.
private void button2_Click (object sender, EventArgs e).
{.
if (textBox1.Text ≠ «» && textBox2. Text ≠ «»).
{.
if (checkBox2.Checked == true && count >= Convert. ToInt32(textBox4.Text)).
{.
MessageBox.Show («Зачислено максимальное количество студентов»);
return;
}.
else {.
double summBall;
if (!double.TryParse (textBox2.Text, out summBall)).
{.
MessageBox.Show («В поле оценки можно вводить только цифры»);
return;
}.
cmd = new SqlCommand («insert into abiturients (anketData, summBall, agreeToPay, taken) values (@anketData,@summBall,@agreeToPay,@taken)», con);
con.Open ();
cmd.Parameters.AddWithValue («@anketData», textBox1. Text);
cmd.Parameters.AddWithValue («@summBall», summBall);
cmd.Parameters.AddWithValue («@agreeToPay», Convert. ToBoolean (checkBox1.Checked));
cmd.Parameters.AddWithValue («@taken», Convert. ToBoolean (checkBox2.Checked));
cmd.ExecuteNonQuery ();
dr = SelectCount. ExecuteReader ();
if (dr.Read ()) { count = Convert. ToInt32(dr[0]); }.
con.Close ();
MessageBox.Show («Абитуриент успешно добавлен»);
label8.Text = «Сейчас зачислено: «+ count;
DisplayData ();
ClearData ();
}.
}.
else.
{.
MessageBox.Show («Вы заполнили не все поля»);
}.
}.
Он проверяет все ли поля заолнены, правильные ли в них данные и можно ли зачислять абитуриентов. Если все условия выполняются, делается запрос в базу и данные сохраняются.
Метод обновления данных делает аналогичные проверки, после которых перезаписывает информацию, а поля с данными очищаются.
private void button3_Click (object sender, EventArgs e).
{.
if (textBox1.Text ≠ «» && textBox2. Text ≠ «»).
{.
if (checkBox2.Checked == true && count >= Convert. ToInt32(textBox4.Text)).
{.
MessageBox.Show («Зачислено максимальное количество абитуриентов»);
return;
}.
else {.
double summBall;
if (!double.TryParse (textBox2.Text, out summBall)).
{.
MessageBox.Show («В поле оценки можно вводить только цифры»);
return;
}.
cmd = new SqlCommand («update abiturients set anketData=@anketData, summBall=@summBall, agreeToPay=@agreeToPay, taken=@taken where ID=@id», con);
con.Open ();
cmd.Parameters.AddWithValue («@id», ID);
cmd.Parameters.AddWithValue («@anketData», textBox1. Text);
cmd.Parameters.AddWithValue («@summBall», summBall);
cmd.Parameters.AddWithValue («@agreeToPay», Convert. ToBoolean (checkBox1.Checked));
cmd.Parameters.AddWithValue («@taken», Convert. ToBoolean (checkBox2.Checked));
cmd.ExecuteNonQuery ();
dr = SelectCount. ExecuteReader ();
if (dr.Read ()) { count = Convert. ToInt32(dr[0]); }.
con.Close ();
MessageBox.Show («Информация об абитуриенте успешно обновлена»);
label8.Text = «Сейчас зачислено: «+ count;
DisplayData ();
ClearData ();
}.
}.
else.
{.
MessageBox.Show («Вы заполнили не все поля»);
}.
}.
Метод для удаления проверяет выбрана ли запись для удаления и выводит сообщения в случае успеха операции или ошибке. Как и все предыдущие, он содержит запрос в базу данных. Информация о количестве зачисленных абитуриентов обновляется.
private void button4_Click (object sender, EventArgs e).
{.
if (ID ≠ 0).
{.
cmd = new SqlCommand («delete abiturients where ID=@id», con);
con.Open ();
cmd.Parameters.AddWithValue («@id», ID);
cmd.ExecuteNonQuery ();
dr = SelectCount. ExecuteReader ();
if (dr.Read ()) { count = Convert. ToInt32(dr[0]); }.
con.Close ();
MessageBox.Show («Абитуриент успешно удалён»);
label8.Text = «Сейчас зачислено: «+ count;
DisplayData ();
ClearData ();
}.
else.
{.
MessageBox.Show («Выберите абитуриента, которого хотите удалить»);
}.
}.
Заполнение полей информацией о выбранном абитуриенте происходит при помощи следующего метода.
private void dataGridView1_RowHeaderMouseClick (object sender, DataGridViewCellMouseEventArgs e).
{.
ID = Convert. ToInt32(dataGridView1.Rows[e.RowIndex]. Cells[0].Value.ToString ());
textBox1.Text = dataGridView1. Rows[e.RowIndex]. Cells[1].Value.ToString ();
textBox2.Text = dataGridView1. Rows[e.RowIndex]. Cells[2].Value.ToString ();
checkBox1.Checked = Convert. ToBoolean (dataGridView1.Rows[e.RowIndex]. Cells[3].Value);
checkBox2.Checked = Convert. ToBoolean (dataGridView1.Rows[e.RowIndex]. Cells[4].Value);
//textBox5.Text = Convert. ToString (Convert.ToInt32(dataGridView1.Rows[e.RowIndex]. Cells[7].Value));
}.
Метод, отвечающий за очистку полей, выглдит следующим образом.
private void ClearData ().
{.
checkBox1.Checked = false;
checkBox2.Checked = false;
textBox1.Text = «» ;
textBox2.Text = «» ;
textBox3.Text = «» ;
ID = 0;
}.
При старте программы происходит первый подсчет количества зачисленных абитуриентов и вывод надписи с подсказками для пользователя.
con.Open ();
SelectCount = new SqlCommand («select count (*) id from abiturients where taken=1», con);
dr = SelectCount. ExecuteReader ();
if (dr.Read ()) { count = Convert. ToInt32(dr[0]); }.
con.Close ();
InitializeComponent ();
DisplayData ();
checkBox1.Checked = false;
checkBox2.Checked = false;
label8.Text = «Сейчас зачислено: «+ count;
label9.Text = «Кнопка „Добавить“ записывает нового аубитуриента. Перед этим нужно указать всю информацию о нём в полях „Анкетные данные“, „Совокупность оценок“ и т. д., иначе вы увидите соответствующее сообщение. Кнопка „Обновить“ исправляет информацию о выбранном абитуриенте на ту, которую вы указали в соответствующих полях. Все поля „Анкетные данные“, „Совокупность оценок“ и т. д.также должны быть заполнены. Кнопка „Удалить“ удаляет выбранного абитуриента из списка. Кнопка „Очистить“ освобождает поля „Анкетные данные“, „Совокупность оценок“ и т. д.Удобно использовать перед добавлением нового абитуриента. Кнопка „Сформировать список для собеседования“ выводит форму „Список тех, кто набрал предельный проходной балл, но не может платить за образование.“. Форма „База абитуриентов“ при этом становится недоступной. Чтобы продолжить работу с ней, нужно закрыть вторую форму» ;