Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

5 Пример выполнения задания. 5.1 Визуальное проектирование диалогового окна. 5.2 Проектирование программного кода. private void UpdateContacts()




5 Пример выполнения задания

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

 

5. 1 Визуальное проектирование диалогового окна

Внешний вид работающего приложения приведен на рисунке 2. 3.

Настройки таблиц dataGridView1 и dataGridView1 приведены в описании предыдущей контрольной работы.

Текстовые поля FamTextBox и NameTextBox используются для добавления новой записи или редактирования записи, выделенной в таблице. Для удобства редактирования при выделении строки в таблице данные об имени и фамилии человека копируются в соответствующие текстовые поля.

 

Кнопка AddPhoneButton
Флажок FilterCheckBox
Кнопка DelContactButton
Кнопка EditButton
Кнопка DelPhoneButton
Кнопка EditPhoneButton
Кнопка AddContactButton
Список FamComboBox
Таблица dataGridView2
Текстовое поле FamTextBox
Текстовое поле NameTextBox
Текстовое поле PhoneTextBox
Таблица dataGridView1

 

 Рисунок 2. 3 – Главная форма приложения

 

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

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

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

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

 

private void UpdateContacts()

{

//обновить содержимое таблиц базы данных

oleDbDataAdapter2. Update(dataSet1);

oleDbDataAdapter1. Update(dataSet1);

//очистить DataSet

dataSet1. Clear();

//заполнить таблицы в объекте DataSet

oleDbDataAdapter1. Fill(dataSet1. Contacts);

oleDbDataAdapter2. Fill(dataSet1. Phones);

//очистить содерижмое списка фамилий

FamComboBox. Items. Clear();

//заполнить список фамилий значениями из таблицы

foreach (DataRow row in dataSet1. Contacts. Rows)

   FamComboBox. Items. Add(row[" Fam" ]);

//в списке фамилий - ни одна фамилия не выделена

FamComboBox. Text = " ";

}

Прежде всего, необходимо сохранить сделанные в программе изменения непосредственно в базу данных. Делается это с помощью метода Update(), применяемого к адаптерам таблиц. Далее содержимое объекта DataSet очищается ( Clear() ) и заполняется заново методом Fill().

Выпадающий список FamComboBox содержит список фамилий людей. При изменении содержимого базы данных его также нужно обновить. Сначала его строки методом Clear() очищаются, а затем заполняются заново фамилиями из обновленной таблицы (метод Add() ). Цикл foreach используется для просмотра всех записей таблицы.

Так как обновление данных должно выполняться и при запуске программы, то содержимое обработчика события FormLoad изменится следующим образом:

 

private void Form1_Load(object sender, EventArgs e)

{

oleDbConnection1. Open(); //открыть соединение

UpdateContacts();    //обновить главное окно

}

5. 2. 2 Добавление нового контакта

Добавление нового контакта происходит тогда, когда пользователь щелкает кнопку До­бавить, расположенную в верхней части главного окна приложения (рисунок 2. 3). Предва­рительно пользователь должен ввести имя и фамилию человека в поля Имя и Фамилия соответственно.

Для этой кнопки необходимо подготовить следую­щий программный код:

 

private void AddContactButton_Click(object sender, EventArgs e)

{

//если текстовые поля не пусты,

if (FamTextBox. Text! = " " & & NameTextBox. Text! = " " )

{

   //то создать новую запись в таблице Contacts,

   DataRow row = dataSet1. Contacts. NewRow();

   //заполнить ее столбцы

   row[" Fam" ] = FamTextBox. Text;

   row[" Name" ] = NameTextBox. Text;

   //и добавить запись в таблицу

   dataSet1. Contacts. Rows. Add(row);

   //обновить содержимое главного окна

   UpdateContacts();

}

}

 

Здесь нужно убедиться в том, что пользователь ввел как имя, так и фамилию. Если поле FamTextBox или NameTextBox пустое, обработчик события завершает свою работу без выполнения других дополнительных действий. В том случае, когда пользователь ввел все необходимые данные, обработчик события создает новую строку в таблице Contacts. Для этого используется метод NewRow(). На следующем этапе введенные строки имени и фамилии записываются в соответст­вующие столбцы строки. Подготовленная таким способом строка добавляется в таблицу.

Далее обработчик события последовательно вызывает метод с именами UpdateContacts(), который предназначен для обновления содержимого формы приложения. Этот метод описан далее.

 


5. 2. 3 Добавление номера телефона

Выделив в верхнем списке имя человека, пользователь может добавить для него один или несколько телефонов. Эта операция выполняется при помощи кнопки Добавить, расположенной возле списка телефонов. Вот обработчик событий для этой кнопки:

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...