Автор работы: Пользователь скрыл имя, 18 Августа 2015 в 11:35, контрольная работа
Цель работы
Получить опыт использования Visual Studio для разработки Web приложения для поиска информации в базе данных.
Предмет и содержание работы
Лабораторная работа направлена на приобретение навыков по разработке Web приложений.
В процессе работы необходимо:
Цель работы
Получить опыт использования Visual Studio для разработки Web приложения для поиска информации в базе данных.
Предмет и содержание работы
Лабораторная работа направлена на приобретение навыков по разработке Web приложений.
В процессе работы необходимо:
Создать Web форму, которая содержит элементы для ввода критериев поиска:
Для отображения информации, полученной в результате поиска использовать элемент управления GridView.
В таблице отображать следующие показатели:
Оборудование и технические средства:
Техническими средствами для выполнения работы являются средства лаборатории «Электронный офис». Приложение разрабатывается с помощью Microsoft Visual Studio 2010.
Порядок выполнения работы
Создадим проект 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_
{
string name = GridView1.SelectedRow.Cells[2]
Literal2.Text = GridView1.SelectedRow.Cells[1]
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.
{
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 "";
}
Результат