Создание базы данных

Автор работы: Пользователь скрыл имя, 18 Августа 2015 в 11:35, контрольная работа

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

Цель работы
Получить опыт использования Visual Studio для разработки Web приложения для поиска информации в базе данных.

Предмет и содержание работы
Лабораторная работа направлена на приобретение навыков по разработке Web приложений.
В процессе работы необходимо:

Прикрепленные файлы: 1 файл

Лаб1.docx

— 1.63 Мб (Скачать документ)

Цель работы

Получить опыт использования Visual Studio для разработки Web приложения для поиска информации в базе данных.

 

Предмет и содержание работы

 Лабораторная работа направлена на приобретение навыков по разработке Web приложений.

В процессе работы необходимо:

Создать Web форму, которая содержит элементы для ввода критериев поиска:

    • ОГРН
    • ИНН
    • Номер лицензии
    • Вид деятельности
    • Лицензирующий орган
    • Состояние лицензии
    • Дата, по состоянию на которую должна отображаться информация

Для отображения информации, полученной в результате поиска использовать элемент управления GridView.

В таблице отображать следующие показатели:

    • ОГРН
    • ИНН
    • Номер лицензии
    • Дата принятия решения
    • Наименование лицензирующего органа
    • Наименование вида деятельности
    • Наименование состояния лицензии
    • Дата начала деятельности
    • Дата окончания деятельности
    • Дата приостановления деятельности
    • Дата возобновления деятельности

 

Оборудование и технические средства:

Техническими средствами для выполнения работы являются средства лаборатории «Электронный офис». Приложение разрабатывается с помощью Microsoft Visual Studio 2010.

 

Порядок выполнения работы

 

    1. Разработать Web форму, содержащую показатели для поиска, таблицу для вывода информации и кнопку для запуска процесса поиска информации
    2. Используя возможности визуального проектирования создать источник данных для таблицы GridView, предназначенной для вывода найденной информации
    3. Для критериев поиска, выбираемых из справочника, создать кнопки выбора и элементы управления, с помощью которых можно получить необходимый показатель из справочника
    4. Создать обработчик события, который будет срабатывать путем нажатия на кнопку поиска.
    5. Добавить в обработчик события операторы для контроля критериев поиска
    6. Добавить в обработчик события операторы, которые формируют команду Select для источника данных (свойство SelectCommand источника данных). Эта команда должна обеспечивать поиск с учетом заданных критериев.
    7. Путем использования визуального интерфейса преобразовать таблицу таким образом, чтобы заголовки были на русском языке, столбцы для дат должны отображать информацию в коротком формате (без времени)
    8. Отладить программу, добиться ее правильной работы

 

Создадим проект web – приложения

 

 

В приложении создадим

 

 

В результате мы получили форму, зададим ей заголовок

 

 

Перейдем на закладку конструктор и создадим поля для критериев поиска сведений

 

 

В правую верхнюю ячейку добавим элементы для выбора данных из справочников: GridView и панель Panel. На панель занесем  Calendar и кнопку Button. У панели Panel1 и у GridView1 свойство Visible установим в False.

В нижнюю ячейку поместим GridView для вывода информации получаемой в результате поиска.

 

 

Создадим подключения для таблицы результата

 

В результате мы получим:

 

 

Теперь зайдем в редактор столбцов GridView и настроим столбцы таким образом, чтобы названия отображались на русском языке и чтобы даты отображались в привычном для пользователя формате (для этого надо задать формат {0:d}).

 

При помощи смарт-тега GridView выполним пункт меню "Автоформат" и выберем формат документа.

 

Запустим проект

 

 

Добавим в левую верхнюю ячейку таблицы HTML два литерала (Literal1 и Literal2), а в нижнюю ячейку Literal3. У второго литерала (Literal2) свойство Visible установим в False.

Изменим стиль таблицы GridView1 на классический, свойства AllowPaging и AutoGenerateSelectButton установим в True

 

 

Создадим источник данных для таблицы GridView1, с помощью которой будем определять вид деятельности.

При выборе соединения будем использовать уже имеющуюся строку соединения.

 

 

Создадим обработчик события для кнопки выбора вида деятельности

 

        protected void Button2_Click(object sender, EventArgs e)

        {

            Panel1.Visible = false;

            GridView1.Visible = true;

        }

Создадим обработчик события SelectedIndexChanged для GridView1.

 

 

 

        protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)

        {

            string name = GridView1.SelectedRow.Cells[2].Text;

            Literal2.Text = GridView1.SelectedRow.Cells[1].Text;

            if (name != "Пустое значение") TextBox4.Text = name;

 

            else

                TextBox4.Text = "";

            TextBox4.ToolTip = TextBox4.Text;

            GridView1.Visible = false;

 

        }

 

Перейдем к коду, определим строку с именем sql и в методе Page_Load присвоим переменной sql строковую константу, в которую запишем содержимое буфера. Кроме этого запишем оператор, с помощью которого в календаре будем задавать текущую дату.

 

 

    string sql;

        protected void Page_Load(object sender, EventArgs e)

        {

            sql = @"SELECT dj_UL.dj_IdUl, dj_UL.dj_Ogrn, dj_UL.dj_Inn, dj_UL.dj_Kpp, dj_Licenz.dj_NumLic, dj_Licenz.dj_DtResh, dj_LicOrg.dj_IoName, dj_SostLic.dj_SlName, dj_VidLic.dj_VlName, dj_Licenz.dj_DtStart, dj_Licenz.dj_DtEnd, dj_Licenz.dj_DtStartNow, dj_Licenz.dj_IdUl AS Expr1, dj_Licenz.dj_DtStop FROM dj_UL INNER JOIN dj_Licenz ON dj_UL.dj_IdUl = dj_Licenz.dj_IdUl INNER JOIN dj_LicOrg ON dj_Licenz.dj_LicOrg = dj_LicOrg.dj_IdLicOrg INNER JOIN dj_SostLic ON dj_Licenz.dj_SostLic = dj_SostLic.dj_IdSosLic INNER JOIN dj_VidLic ON dj_Licenz.dj_VidLic = dj_VidLic.dj_IdVidLic";

            if (!Page.IsPostBack)

                Calendar1.SelectedDate = DateTime.Now;

        }

 

Код для кнопки поиска

 

protected void Button6_Click(object sender, EventArgs e)

        {

            Literal1.Text = "";

            DateTime d = DateTime.MinValue;

            if (TextBox7.Text != "")

            {

                if (!DateTime.TryParse(TextBox7.Text, out d))

                {

                    Literal1.Text = "Дата задана неправильно"; return;

                }

            }

 

            string f = "";

            if (TextBox1.Text != "")

            {

                if (testOgrn(TextBox1.Text) != "")

                {

                    Literal1.Text = testOgrn(TextBox1.Text); return;

                }

                f += "(dj_UL.dj_Ogrn ='" + TextBox1.Text + "') AND ";

            }

            if (TextBox2.Text != "")

            {

                if (testInn(TextBox2.Text) != "")

                {

                    Literal1.Text = testInn(TextBox2.Text); return;

                }

                f += "(dj_UL.dj_Inn ='" + TextBox2.Text + "') AND ";

            }

            if (TextBox4.Text != "")

                f += "(dj_VidLic.dj_VlName ='" + TextBox4.Text + "') AND ";

 

            if (TextBox3.Text != "")

                f += "(dj_Licenz.dj_NumLic ='" + TextBox3.Text + "') AND ";

 

            if (TextBox5.Text != "")

                f += "(dj_LicOrg.dj_IoName ='" + TextBox5.Text + "') AND ";

 

            if (TextBox6.Text != "")

                f += "(dj_SostLic.dj_SlName ='" + TextBox6.Text + "') AND ";

 

 

 

 

            if (TextBox7.Text != "")

            {

                string s = d.ToShortDateString();

                TextBox7.Text = s;

                f += "(dj_Licenz.dj_DtStart <='" + s + "') AND ((dj_Licenz.dj_DtEnd IS NULL) OR ('" + s + "'<= dj_Licenz.dj_DtEnd)) and ";

            }

            if (f != "")

                f = " WHERE " + f.Remove(f.Length - 5);

            SqlDataSource1.SelectCommand = sql + f;

            SqlDataSource1.DataBind();

            GridView2.DataBind();

            Literal3.Text = "Всего найдено - " + GridView2.Rows.Count.ToString();

        }

 

 

        private bool isCipher(string s)

        {

 

            for (int i = 0; i < s.Length; i++)

            {

 

                if (!char.IsDigit(s[i])) return false;

 

            }

 

            return true;

 

        }

 

        private string testOgrn(string s)

        {

 

            if (s.Length != 13)

 

                return "Длина ОГРН не равна 13"; if (!isCipher(s))

 

                return "В коде ОГРН нецифровая информация"; return "";

 

        }

 

        private string testInn(string s)

        {

 

            if (s.Length != 10)

 

                return "Длина ИНН не равна 10"; if (!isCipher(s))

 

                return "В коде ИНН нецифровая информация"; return "";

 

        }

 

 

Результат

 

 


Информация о работе Создание базы данных