Разработка приложения для работы с много файловой базой данных

Автор: Пользователь скрыл имя, 11 Марта 2012 в 21:00, курсовая работа

Краткое описание

Целью данного курсового проекта является разработка приложения для работы с много файловой базой данных – ведение базы данных об абитуриентах, подавших документы для поступления в ВУЗ. Программа должна определять средний балл аттестата по итогам ввода данных; регистрировать данные об абитуриентах, поступающих в ВУЗ; сортировать данные по факультету и специальности, а также итоговой оценке абитуриента; производить отбор данных по: факультету, специальности итоговой оценке, среднему баллу аттестата; строить гистограмму распределения итоговых оценок абитуриентов. Данное приложение призвано ускорить процесс расчета и заполнения базы данных.

Оглавление

Введение
1. Разработка архитектуры приложения «Абитуриент»
1.1 Назначение разработки и основание для ее выполнения
1.2 Постановка задачи
1.3 Требования к программе
1.3.1 Требования к графическому интерфейсу пользователя
1.3.2 Требования к архитектуре приложения
1.3.3 Требования к функциональности приложения
1.3.4 Требования к программной документации
1.4 Требование к тестированию
1.5 Архитектура приложения (первоначальная)
1.6 Этапы разработки
1.7 Выводы
2 . Программная документация для проекта «Абитуриент»
2.1 Тестирование программы
2.2. Руководство программиста
2.2.1 Структура программы
2.2.2. Настройка и проверка программы
2.3. Руководство пользователя
2.3.1 Общие сведения о программе
2.3.2.Условие выполнения программы
2.3.3 Выполнение программы
2.4.Сообщения оператору
2.5 Выводы
Выводы
Перечень ссылок
Приложение А

Файлы: 1 файл

Пояснительна записка(Бец)на сдачу.doc

— 1.41 Мб (Скачать)

        {

            if (DBSaveDialog.ShowDialog() == DialogResult.OK)

            {

                this.fileName = DBSaveDialog.FileName;

                abiturientu.SaveDataBase(this.fileName);

                abiturientu.IsSaved = true;

            }

        }

        //

        // Открытие БД

        //

        private void miDSerialAndOpenDB_Click(object sender, EventArgs e)

        {

 

            if (abiturientu.IsSaved)

            {

                if (DBOpenDialog.ShowDialog() == DialogResult.OK)

                {

                    abiturientu = new ABITURIENTU();

                    fileName = DBOpenDialog.FileName;

                    abiturientu.OpenDataBase(this.fileName);

                    DATA_TABLE.Visible = true;

                    tsKoefMath.Text = abiturientu.Data_List[0].koefMath.ToString();

                    tsKoefMova.Text = abiturientu.Data_List[0].koefMova.ToString();

 

                    this.kMat = abiturientu.Data_List[0].koefMath;

                    this.kUkr = abiturientu.Data_List[0].koefMova;

 

                    tsNew.Enabled = true;

                    tsSave.Enabled = true;

                    tsAdd.Enabled = true;

                    tsDelete.Enabled = true;

                    tsEdit.Enabled = true;

                    tsISelecttog.Enabled = true;

                    tsMiddleMark.Enabled = true;

                    tsSelectAll.Enabled = true;

                    tsSelectFak.Enabled = true;

                    tsSelectSpec.Enabled = true;

 

                    miEdit.Enabled = true;

                    miVuborka.Enabled = true;

                    miSave.Enabled = true;

                    miSerialAndSaveDB.Enabled = true;

                    miItog.Enabled = true;

 

                    RefreshDataTable(abiturientu);

                }

            }

            else

            {

                if (MessageBox.Show("Текущая база не сохранена!\n Сохранить?", "Внимание!", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.OK)

                {

                    miSave_Click(sender, e);

                }

                else

                {

                    if (DBOpenDialog.ShowDialog() == DialogResult.OK)

                    {

                        abiturientu = new ABITURIENTU();

                        fileName = DBOpenDialog.FileName;

                        abiturientu.OpenDataBase(this.fileName);

                        DATA_TABLE.Visible = true;

                        RefreshDataTable(abiturientu);

                    }

                }

            }

        }

        //

        // Выход из программы

        //

        private void miExit_Click(object sender, EventArgs e)

        {

            if (abiturientu.IsSaved)

            {

 

                Application.Exit();

 

            }

            else

            {

                if (MessageBox.Show("Текущая база не сохранена!\n Сохранить?", "Внимание!", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.OK)

                {

                    miSave_Click(sender, e);

                }

                else

                {

                    Application.Exit();

                }

 

            }

        }

        //

        // Добавление новой записи

        //

        private void miAddItem_Click(object sender, EventArgs e)

        {

            AddEditDialog add_edit_dlg = new AddEditDialog(kMat, kUkr, false);

            ABITURIENT ab = new ABITURIENT();

 

            tsStatus.Text = "Добавление записи";

            if (add_edit_dlg.ShowDialog() == DialogResult.OK)

            {

                ab.FIO = add_edit_dlg._tbFio.Text;

                ab.FAKULTET = add_edit_dlg._cbFuck.Text;

                ab.SPECIALNOST = add_edit_dlg._cbSpec.Text;

                ab.SR_ATESTAT = double.Parse(add_edit_dlg._tbMiddleMark.Text);

                ab.OCENKA_TEST_MATH = int.Parse(add_edit_dlg._tbMarkMath.Text);

                ab.OCENKA_TEST_MOVA = int.Parse(add_edit_dlg._tbMarkMova.Text);

                ab.ITOG = double.Parse(add_edit_dlg._tbItog.Text);

                ab.SCHOOL = add_edit_dlg._School;

                ab.koefMath = double.Parse(tsKoefMath.Text);

                ab.koefMova = double.Parse(tsKoefMath.Text);

                abiturientu.AddItem(ab);

 

                RefreshDataTable(abiturientu);

            }

        }

        //

        // Удаление записи

        //

        private void miDeleteItem_Click(object sender, EventArgs e)

        {

            tsStatus.Text = "Удаление записи!";

            RemIndexDialog rmDlg = new RemIndexDialog();

            rmDlg._nomZapBox.Maximum = (decimal)abiturientu.Data_List.Count;

 

            if (rmDlg.ShowDialog() == DialogResult.OK)

            {

                abiturientu.Data_List.RemoveAt((int)rmDlg._nomZapBox.Value - 1);

                RefreshDataTable(abiturientu);

            }

 

           

        }

        //

        // Редактирование БД

        //

        private void miUpdateItem_Click(object sender, EventArgs e)

        {

            int index = -1;

            tsStatus.Text = "Обновление записи";

            for (int i = 0; i < abiturientu.Data_List.Count; i++)

            {

                if (abiturientu.Data_List[i].FIO == DATA_TABLE.CurrentRow.Cells["FIO"].Value.ToString())

                {

                    index = i;

                }

            }

 

           

            if (index!=-1)

            {

                AddEditDialog addEditForm = new AddEditDialog(kMat, kUkr, true);

                #region Занесение на форму старой информации

                addEditForm.Text = "Редактирование записи";

                addEditForm._tbFio.Text = abiturientu.Data_List[index].FIO;

                addEditForm._cbFuck.Text = abiturientu.Data_List[index].FAKULTET;

                addEditForm._cbSpec.Text = abiturientu.Data_List[index].SPECIALNOST;

                addEditForm._tbMiddleMark.Text = abiturientu.Data_List[index].SR_ATESTAT.ToString();

                addEditForm._tbMarkMath.Text = abiturientu.Data_List[index].OCENKA_TEST_MATH.ToString();

                addEditForm._tbMarkMova.Text = abiturientu.Data_List[index].OCENKA_TEST_MOVA.ToString();

                addEditForm._tbItog.Text = abiturientu.Data_List[index].ITOG.ToString();

 

                addEditForm._School = abiturientu.Data_List[index].SCHOOL;

                #endregion

 

                if (addEditForm.ShowDialog() == DialogResult.OK)

                {

                    ABITURIENT ab = new ABITURIENT();

 

                    ab.FIO = addEditForm._tbFio.Text;

                    ab.FAKULTET = addEditForm._cbFuck.Text;

                    ab.SPECIALNOST = addEditForm._cbSpec.Text;

                    ab.SR_ATESTAT = double.Parse(addEditForm._tbMiddleMark.Text);

                    ab.OCENKA_TEST_MATH = int.Parse(addEditForm._tbMarkMath.Text);

                    ab.OCENKA_TEST_MOVA = int.Parse(addEditForm._tbMarkMova.Text);

                    ab.ITOG = double.Parse(addEditForm._tbItog.Text);

                    ab.koefMath = kMat;

                    ab.koefMova = kUkr;

                    ab.SCHOOL = addEditForm._School;

 

                    abiturientu.EditItem(index, ab);

 

                    #region Обновление данных в таблице

                    DATA_TABLE.CurrentRow.Cells["NOM"].Value = index + 1;

                    DATA_TABLE.CurrentRow.Cells["FIO"].Value = abiturientu.Data_List[index].FIO;

                    DATA_TABLE.CurrentRow.Cells["FUCK"].Value = abiturientu.Data_List[index].FAKULTET;

                    DATA_TABLE.CurrentRow.Cells["SPEC"].Value = abiturientu.Data_List[index].SPECIALNOST;

                    DATA_TABLE.CurrentRow.Cells["MIDLE_MARK_ATT"].Value = abiturientu.Data_List[index].SR_ATESTAT;

                    DATA_TABLE.CurrentRow.Cells["MATH"].Value = abiturientu.Data_List[index].OCENKA_TEST_MATH;

                    DATA_TABLE.CurrentRow.Cells["MOVA"].Value = abiturientu.Data_List[index].OCENKA_TEST_MOVA;

                    DATA_TABLE.CurrentRow.Cells["ITOG"].Value = abiturientu.Data_List[index].ITOG;

                    DATA_TABLE.Update();

                    #endregion

 

                }

                else

                {

                    MessageBox.Show("Запись не найдена!", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Warning);

                }

            }

        }

        /// <summary>

        /// Выборка по факультету

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void miFacultet_Click(object sender, EventArgs e)

        {

            #region Выборка по Факультету

            SelectSpecialFakDialog selectSpecDlg = new SelectSpecialFakDialog();

            selectSpecDlg.Text = "Отбор по факультету";

            selectSpecDlg.label1.Text = "Факультет";

            if (selectSpecDlg.ShowDialog() == DialogResult.OK)

            {

                ABITURIENTU ab = new ABITURIENTU();

                for (int i = 0; i < abiturientu.Data_List.Count; i++)

                {

                    if (abiturientu.Data_List[i].FAKULTET == selectSpecDlg.tbSpeciality.Text)

                    {

                        ab.Data_List.Add(abiturientu.Data_List[i]);

                    }

                }

                RefreshDataTable(ab);

            }

            #endregion           

        }

        /// <summary>

        /// Выборка по специальности

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void miSpecialnost_Click(object sender, EventArgs e)

        {

            #region Выборка по Специальности

            SelectSpecialFakDialog selectSpecDlg = new SelectSpecialFakDialog();

            selectSpecDlg.Text = "Отбор по специальности";

            if (selectSpecDlg.ShowDialog() == DialogResult.OK)

            {

                ABITURIENTU ab = new ABITURIENTU();

                for (int i = 0; i < abiturientu.Data_List.Count; i++)

                {

                    if (abiturientu.Data_List[i].SPECIALNOST == selectSpecDlg.tbSpeciality.Text)

                    {

                        ab.Data_List.Add(abiturientu.Data_List[i]);

                    }

                }

                RefreshDataTable(ab);

            }

            #endregion           

        }

        /// <summary>

        /// Выборка по итоговой оценке

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void miItogOcenka_Click(object sender, EventArgs e)

        {

            SelectItogAttDialog selAttDlg = new SelectItogAttDialog();

            selAttDlg.Text = "Отбор по итоговой оценке";

            ABITURIENTU ab = new ABITURIENTU();

            if (selAttDlg.ShowDialog() == DialogResult.OK)

            {

                switch (selAttDlg.cbOperation.Text)

                {

                    case "=":

                        DATA_TABLE.Rows.Clear();

                        #region Выборка данных и их отображение

                        for (int i = 0; i < abiturientu.Data_List.Count; i++)

                        {

                            if (abiturientu.Data_List[i].ITOG == double.Parse(selAttDlg.tbRight.Text))

                            {

                                ab.Data_List.Add(abiturientu.Data_List[i]);

                            }

                        }

                        RefreshDataTable(ab);

                        #endregion

                        break;

                    case ">=":

                        DATA_TABLE.Rows.Clear();

                        #region Выборка данных и их отображение

                        for (int i = 0; i < abiturientu.Data_List.Count; i++)

                        {

                            if (abiturientu.Data_List[i].ITOG >= double.Parse(selAttDlg.tbRight.Text))

                            {

                                ab.Data_List.Add(abiturientu.Data_List[i]);

                            }

                        }

                        RefreshDataTable(ab);

                        #endregion

                        break;

                    case "<=":

                        DATA_TABLE.Rows.Clear();

                        #region Выборка данных и их отображение

                        for (int i = 0; i < abiturientu.Data_List.Count; i++)

                        {

                            if (abiturientu.Data_List[i].ITOG <= double.Parse(selAttDlg.tbRight.Text))

                            {

                                ab.Data_List.Add(abiturientu.Data_List[i]);

                            }

                        }

                        RefreshDataTable(ab);

                        #endregion

                        break;

                    case "<=    =<":

                        DATA_TABLE.Rows.Clear();

                        #region Выборка данных и их отображение

                        for (int i = 0; i < abiturientu.Data_List.Count; i++)

                        {

                            if (abiturientu.Data_List[i].ITOG <= double.Parse(selAttDlg.tbRight.Text) && abiturientu.Data_List[i].ITOG >= double.Parse(selAttDlg.tbLeft.Text))

                            {

                                ab.Data_List.Add(abiturientu.Data_List[i]);

                            }

                        }

                        RefreshDataTable(ab);

                        #endregion

                        break;

 

                    default:

                        break;

                }

            }

        }

        /// <summary>

        /// Выборка по среднему балу аттестата

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void miMiddleAtt_Click(object sender, EventArgs e)

        {

            SelectItogAttDialog selAttDlg = new SelectItogAttDialog();

            selAttDlg.Text = "Отбор по среднему балу аттестата";

            ABITURIENTU ab = new ABITURIENTU();

            if (selAttDlg.ShowDialog() == DialogResult.OK)

            {

                switch (selAttDlg.cbOperation.Text)

                {

                    case "=":

                        DATA_TABLE.Rows.Clear();

                        #region Выборка данных и их отображение

                        for (int i = 0; i < abiturientu.Data_List.Count; i++)

                        {

                            if (abiturientu.Data_List[i].SR_ATESTAT == double.Parse(selAttDlg.tbRight.Text))

                            {

                                ab.Data_List.Add(abiturientu.Data_List[i]);

                            }

                        }

                        RefreshDataTable(ab);

                        #endregion

                        break;

                    case ">=":

                        DATA_TABLE.Rows.Clear();

                        #region Выборка данных и их отображение

                        for (int i = 0; i < abiturientu.Data_List.Count; i++)

                        {

                            if (abiturientu.Data_List[i].SR_ATESTAT >= double.Parse(selAttDlg.tbRight.Text))

                            {

                                ab.Data_List.Add(abiturientu.Data_List[i]);

                            }

                        }

                        RefreshDataTable(ab);

                        #endregion

Информация о работе Разработка приложения для работы с много файловой базой данных