Проектирование программного кода

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

Проектирование программного кода.

Для отображения в компонентах DataGridView данных из таблиц небходимо прежде всего открыть соединение с базой данных, затем заполнить таблицы, созданные в наборе данных DataSet данными из таблиц в базе. В нашем случае это делается при главного окна программы, в обработчике данных события Load:

 

private void Form1_Load(object sender, EventArgs e)

{

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

this.goodsTableAdapter.Fill(this.dataSet1.Goods);

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

this.shopsTableAdapter.Fill(this.dataSet1.Shops);

}

Данная конструкция была создана автоматически при помощи объекта TableAdapter набора данных DataSet.

При закрытии приложения нужно отключить соединение с базой данных:

private void Form1_FormClosing(object sender, FormClosingEventArgs e)

{

OleDbConnection conn = new OleDbConnection();

conn.Close();

}

 

Задание: Реализовать с помощью технологии ADO.NET программный интерфейс управления базой данных, созданной ранее. Предусмотреть возможность добавления, редактирования, удаления и фильтрации записей.

 

Визуальное проектирование главного окна приложения.

Внешний вид работающего приложения приведен на рисунке 1. Настройки компонентов-таблиц dataGridView1 и dataGridView2 приведены в описании предыдущей лабораторной работы. Текстовые поля Goods и Provides предназначены для добавления новой записи или редактирования записи, приведенной в таблице. Для удобства редактирования при выделении строки в таблице данные о товарах и поставщиках копируются в соответствующие текстовые поля.

 

 

Рисунок 1 – Главное окно приложения

 

Обновление содержимого главного окна приложения

Обновлять содержимое главного окна приложения необходимо, когда пользователь производит какие-либо изменения с записями БД: добавление, редактирование и удаление записей таблиц, а также при открытии соединения с БД в начале работы программы. Для этого необходимо добавить в класс новый метод, выполняющий обновление главного окна приложения.

Добавить в класс новый метод можно либо вручную, либо с помощью визуальных средств разработки. Для этого следует выбрать в меню Вид (View) пункт Классы (Class View). В результате откроется окно, где можно просматривать список всех классов, определенных в пространстве имен. В контекстном меню класса главной формы приложения выбрать пункт Схема классов (View Class Diagram). После этого в рабочей области откроется файл схемы классов, где можно создать новые классы, интерфейсы, делегаты и т.д., а также добавлять в существующие классы методы, поля, свойства и т.д.

Для добавления в класс нового метода нужно выбрать в контекстном меню заголовка формы пункт Добавить®Метод (Add®Method). После этого в окне Properties (Свойства) можно установить свойства для добавляемого метода: тип возврата, вид доступа, имя метода и т.п.

Для обновления содержимого главного окна приложения необходимо добавить метод UpdateGoods(). Тип возврата – void, вид доступа – private, параметров нет. Программный код метода:

 

private void UpdateGoods()

{

//обновление содержимого таблиц БД

this.goodsTableAdapter.Update(this.dataSet1.Goods);

this.shopsTableAdapter.Update(this.dataSet1.Shops);

dataSet1.Clear();//очистка DataSet

//заполнение таблиц в DataSet

this.goodsTableAdapter.Fill(this.dataSet1.Goods);

this.shopsTableAdapter.Fill(this.dataSet1.Shops);

comboBox1.Items.Clear();

foreach (DataRow row in dataSet1.Goods.Rows)

{

comboBox1.Items.Add(row["Product"]);//заполнение comboBox1

}

comboBox1.Text = "";//не выбран ни один продукт

}

 

Обновление данных выполняется и при запуске программы. Обработчик события Form_Load:

 

private void Form1_Load(object sender, EventArgs e)

{

UpdateGoods();

}