- •4.6. Работа со связанными таблицами в Windows-формах 42
- •4.7. Представление связанных таблиц в элементе управления DataGrid 54
- •4.7.1. Создание Windows-формы 54
- •4. Построение Windows-приложений с доступом к данным через adо.Net
- •4.1. Создание Windows-приложения
- •4.2. Windows-форма как основа интерфейса
- •4.3. Доступ к данным в Windows-формах с использованием элемента управления DataGrid
- •4.3.1. Создание проекта и формы
- •4.3.2. Создание набора данных DataSet
- •Создание и конфигурирование элементов доступа к данным Connection и DataAdapter
- •Создание объекта DataSet
- •4.3.3. Добавление элемента управления DataGrid для отображения данных
- •4.3.4. Заполнение элемента управления DataGrid данными
- •4.3.5. Обновление информации в базе данных
- •4.4. Доступ к данным в Windows-формах с использованием текстовых полей
- •4.4.1. Связывание элементов TextBox с набором данных
- •4.4.2. Отображение номера текущей записи
- •4.5. Выборка и сортировка данных через запросы с параметрами
- •4.5.1. Создание Windows-формы
- •4.5.2. Создание и конфигурирование объектов DataConnection и DataAdapter
- •4.5.3. Создание набора данных
- •4.5.4. Добавление элементов отображения данных
- •4.5.5. Добавление кода для заполнения набора данных
- •4.5.6. Связывание текстовых полей с набором данных
- •4.5.7. Добавление навигации по записям
- •4.5.8. Отображение номера текущей записи
- •4.5.9. Тестирование работы приложения
- •4.6. Работа со связанными таблицами в Windows-формах
- •4.6.1. Создание и Windows-формы
- •4.6.2. Конфигурирование DataConnection и Data Adapter
- •4.6.3. Создание набора данных Dataset
- •4.6.4. Создание реляционных связей между таблицами набора данных
- •4.6.5. Добавление элементов отображения данных
- •Отображение издательств в элементе ListBox
- •Отображение наименований книг в элементе DataGrid
- •4.6.6. Заполнение набора данных
- •4.6.7. Тестирование приложения
- •4.7. Представление связанных таблиц в элементе управления DataGrid
- •4.7.1. Создание Windows-формы
- •4.7.2. Конфигурирование объектов DataConnection и DataAdapter
- •4.7.3. Добавление элементов управления
- •4.7.4. Заполнение набора данных и создание реляционных связей
- •4.7.5. Тестирование приложения
4.3.5. Обновление информации в базе данных
Элемент управления DataGrid позволяет пользователю корректировать информацию непосредственно в сетке данных. Когда пользователь изменяет данные в DataGrid, автоматически обновляется и набор данных DataSet. Однако эти изменения не вносятся непосредственно в таблицы исходной базы данных (не забывайте, что вы работаете с несвязанной копией фрагмента базы данных).
Когда данные изменились в DataSet, вы должны инициализировать внесение этих изменений в исходную базу данных. Объект DataAdapter может выполнить эти действия через свой метод update, который проверяет каждую запись в DataSet и, если были сделаны изменения, отправляет их в исходную базу данных.
В следующем примере вы добавите кнопку на форму, нажав которую пользователи смогут инициализировать процесс отправки изменении в базу данных.
Для задания кнопки обновления базы данных выполните следующие действия.
1. Из вкладки Windows Forms окна Toolbox, перенесите на форму элемент управления Button.
Измените свойство кнопки Text с Button2 на Обновить данные.
Двойным щелчком на кнопке создайте заготовку модуля обработки события Click.
В нем, вызовите метод Update объекта oleDbDataAdapter1, который внесет изменения в базу данных.
Используйте объект MessageBox для вывода информации об успешном завершении операции обновления данных.
Программный код, показанный в листинге 4.3, иллюстрирует вызов этих методов.
Листинг 4.3
‘ Visual Basic
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
OleDbDataAdapterl.Update(DataSetll)
MessageBox.Show("Данные успешно обновлены!")
End Sub
// C#
private void Button2_Click(object sender, System.EventArgs e)
{
oleDbDataAdapter1.Update(dataSet11) ;
MessageBox.Show("Данные успешно обновлены!") ;
}
Попробуйте запустить приложение, загрузить данные в DataGrid, исправить некоторые записи и внести сделанные изменения в исходную базу данных (рис. 4.20).
Рис. 4.20. Возврат изменений пользователя в базу данных
4.4. Доступ к данным в Windows-формах с использованием текстовых полей
Вначале несколько модифицируем форму предыдущего примера:
добавим несколько элементов управления TextBox для отображения информации;
установим связь этих элементов с уже созданным объектом Dataset;
добавим управляющие элементы Button, обеспечивающие навигацию (перемещение) по записям базы данных;
добавим элементы Label, отображающие надписи к текстовым полям, а также номер текущей записи.
В текстовые поля будем выводит следующую информацию из таблицы authors базы данных Pubs: имя — au_lname, фамилию — au_fname , город — city и код штата — state.
Для реализации выше описанного выполните следующие действия.
Добавьте на форму, созданную в предыдущем разделе, следующие элементы управления: 4 элемента TextBox, 2 элемента Button, 6 элементов Label.
Расположите их на форме, как показано на рис. 4.21.
Рис. 4.21. Расположение добавленных элементов на форме
3. Измените свойства этих элементов в соответствии с табл. 4.1.
|
Таблица 4.1. |
Значения свойств |
элементов управления |
Элемент |
Назначение |
Свойство Name |
Свойство Text |
Label |
Надпись "Имя" |
Label1 |
Имя |
TextBox |
Имя (поле аu_lname) |
TextBox1 |
|
Label |
Надпись "Фамилия" |
Label2 |
Фамилия |
TextBox |
Фамилия (поле au_fname) |
TextBox2 |
|
Label |
Надпись"Город" |
Label3 |
Город |
TextBox |
Город (поле city) |
TextBox3 |
|
Label |
Надпись "Код штата" |
Label4 |
Код штата |
TextBox |
Код штата (поле state) |
TextBox4 |
|
Label |
Надпись "Номер записи" |
Label5 |
Номер записи |
Label |
Номер записи |
Label6 |
№ |
Button |
Сдвиг на запись вверх |
Button3 |
Вверх |
Button |
Сдвиг на запись вниз |
Button4 |
Вниз |
После выполненных действий вы получите форму следующего вида (рис. 4.22).
Рис. 4.22. Элементы управления формы после переопределения их свойств