Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР3БСБД.docx
Скачиваний:
3
Добавлен:
16.03.2023
Размер:
137.59 Кб
Скачать

Министерство науки и высшего образования Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего образования

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра безопасности информационных систем (БИС)

Отчет по лабораторной работе №3

По дисциплине «Безопасность систем баз данных»

Тема ПО «Деятельность магазина»

Студент гр.731-2

__________Батаев А.С.

«__» _____2023

Принял:

Мл. науч. сотрудник

__________ ________ Перминов П.В.

«__» _____2023

Томск 2023

Введение

Цель работы: изучение основных особенностей создания приложения для работы со связанными таблицами базы данных в Microsoft Visual Studio для своей предметной области.

2 Ход работы

Были обработаны исключения в программе, возникающие при некорректной работе с данными, результаты обработки изображены на рисунках 1.1 - 1.3. Листинг программы представлен в Приложении.

Рисунок 2.1 – Повторяющийся код сотрудника

Рисунок 2.2 – Пустое значение

Были реализованы поиск и фильтрация информации по вводу пользователем данных, которые изображены на рисунке 2.3, 2.4 Листинг программы представлен в Приложении.

Рисунок 2.3 – Поиск данных

Рисунок 2.4 – Фильтрация данных на фамилию

Была создана подстановочная колонка в форме Клиенты, которая изображена на рисунке 2.5.

Рисунок 2.5 – Подстановочная таблица

Заключение

В ходе работы были изучены основные особенности создания приложения для работы со связанными таблицами базы данных в Microsoft Visual Studio для предметной области «Деятельность магазина».

Приложение а (обязательное)

using System;

using System.Data;

using System.Windows.Forms;

namespace БСБД_Магазин

{

public partial class FormListTransfer : Form

{

public FormListTransfer()

{

InitializeComponent();

}

private void списокСотрудниковBindingNavigatorSaveItem_Click(object sender, EventArgs e)

{

this.Validate();

this.списокСотрудниковBindingSource.EndEdit();

this.tableAdapterManager.UpdateAll(this.shopDataSet);

}

private void FormListTransfer_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "shopDataSet.Персонал". При необходимости она может быть перемещена или удалена.

this.персоналTableAdapter.Fill(this.shopDataSet.Персонал);

// TODO: данная строка кода позволяет загрузить данные в таблицу "shopDataSet.СписокСотрудников". При необходимости она может быть перемещена или удалена.

this.списокСотрудниковTableAdapter.Fill(this.shopDataSet.СписокСотрудников);

}

string GetSelectedFieldName()

{

return

персоналDataGridView.Columns[персоналDataGridView.CurrentCell.ColumnIndex

].DataPropertyName;

}

private void filterButton_Click(object sender, EventArgs e)

{

if (filter.Text == "")

{

MessageBox.Show("Вы ничего не задали", "Внимание",

MessageBoxButtons.OK, MessageBoxIcon.Information);

return;

}

int indexPos;

try

{

indexPos =

персоналBindingSource.Find(GetSelectedFieldName(),

filter.Text);

}

catch (Exception err)

{

MessageBox.Show("Ошибка поиска \n" + err.Message);

return;

}

if (indexPos > -1)

персоналBindingSource.Position = indexPos;

else

{

MessageBox.Show("Таких сотрудников нет", "Внимание",

MessageBoxButtons.OK, MessageBoxIcon.Information);

персоналBindingSource.Position = 0;

}

}

private void checkBoxFind_CheckedChanged(object sender, EventArgs e)

{

if (checkBoxFind.Checked)

{

if (filter.Text == "")

MessageBox.Show("Вы ничего не задали", "Внимание",

MessageBoxButtons.OK, MessageBoxIcon.Information);

else

try

{

персоналBindingSource.Filter =

GetSelectedFieldName() + "='" + filter.Text + "'";

}

catch (Exception err)

{

MessageBox.Show("Ошибка фильтрации \n" +

err.Message);

}

}

else

персоналBindingSource.Filter = "";

if (персоналBindingSource.Count == 0)

{

MessageBox.Show("Нет таких");

персоналBindingSource.Filter = "";

checkBoxFind.Checked = false;

}

}

private void buttonshop_Click(object sender, EventArgs e)

{

int id = -1;

if (((DataRowView)списокСотрудниковBindingSource.Current)

["код_магазина"].ToString() != "")

{

id = (int)(((DataRowView)списокСотрудниковBindingSource.Current)

["код_магазина"]);

}

id = shop.fs.ShowSelectForm(id);

if (id >= 0)

{

MessageBox.Show(id.ToString());

((DataRowView)списокСотрудниковBindingSource.Current)["код_магазина"]

= id;

списокСотрудниковBindingSource.EndEdit();

}

}

private void персоналDataGridView_DataError(object sender, DataGridViewDataErrorEventArgs e)

{

MessageBox.Show("Ошибка в веденном значении", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

}

Соседние файлы в предмете Безопасность систем баз данных