Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПИС ИМОП 2.doc
Скачиваний:
4
Добавлен:
23.08.2019
Размер:
6.07 Mб
Скачать

4.3.5. Обновление информации в базе данных

Элемент управления DataGrid позволяет пользователю корректировать информацию непосредственно в сетке данных. Когда пользователь изменяет данные в DataGrid, автоматически обновляется и набор данных DataSet. Однако эти изменения не вносятся непосредственно в таблицы исходной базы данных (не забывайте, что вы работаете с несвязанной копией фрагмента базы данных).

Когда данные изменились в DataSet, вы должны инициализировать внесение этих изменений в исходную базу данных. Объект DataAdapter может выполнить эти действия через свой метод update, который проверяет каждую запись в DataSet и, если были сделаны изменения, отправляет их в исходную базу данных.

В следующем примере вы добавите кнопку на форму, нажав которую пользователи смогут инициализировать процесс отправки изменении в базу данных.

Для задания кнопки обновления базы данных выполните следующие действия.

1. Из вкладки Windows Forms окна Toolbox, перенесите на форму элемент управления Button.

  1. Измените свойство кнопки Text с Button2 на Обновить данные.

  2. Двойным щелчком на кнопке создайте заготовку модуля обработки события Click.

  3. В нем, вызовите метод Update объекта oleDbDataAdapter1, который внесет изменения в базу данных.

  4. Используйте объект 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.

Для реализации выше описанного выполните следующие действия.

  1. Добавьте на форму, созданную в предыдущем разделе, следующие элементы управления: 4 элемента TextBox, 2 элемента Button, 6 элементов Label.

  2. Расположите их на форме, как показано на рис. 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. Элементы управления формы после переопределения их свойств