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

4.5.5. Добавление кода для заполнения набора данных

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

Дважды щелкните кнопку Показать авторов, чтобы создать процедуру обработки события Click. Добавьте код к обработчику этого события:

  • Установите значение единственного параметра, требуемого для выполнения SQL-запроса. Параметру присвойте то значение, которое пользователь введет в текстовом поле txtstateParameter.

  • Вызовите метод очистки набора банных clear. Если набор данных не очищать, то записи, возвращаемые SQL-запросом, будут каждый раз добавляться в конец набора данных при нажатии на кнопку Показать авторов.

  • Вызовите метод Fill адаптера данных, передавая ему в качестве параметра тот набор данных, который нужно заполнить.

Описанные выше действия приведены в следующем программном коде (листинг 4.9).

Листинг 4.9

' Visual Basic

Private Sub btnShow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnShow.Click

OleDbDataAdapterl.SelectCommand.Parameters("state").Value=txtstateParameter.Text DsAuthorsl.Clear()

OleDbDataAdapterl.Fill(DsAuthorsl)

End Sub

// C#

private void btnShow_Click(object sender, System.EventArgs e)

{

oleDbDataAdapter1.SelectCommand.Parameters["state"].Value =txtStateParameter.Text;

dsAuthors1.Clear() ;

oleDbDataAdapter1.Fill(dsAuthors1);

}

4.5.6. Связывание текстовых полей с набором данных

Три текстовых поля txtAuthorID, txtAuthorLName, txtAuthorState предназначены для того, чтобы отображать информацию из отдельных записей таблицы authors набора данных. Для того чтобы при смене записей значения текстовых полей обновлялись автоматически, необходимо связать столбцы таблицы данных с текстовыми полями. Механизм связывания гарантирует корректность обновления текстовых полей при смене записей.

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

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

  1. Вернитесь во вкладку дизайнера формы.

  1. Выделите мышью первое текстовое поле (txtAuthorID) и нажмите клавишу <F4>, чтобы открыть окно свойств Properties.

  2. Раскройте узел DataBindings свойства Text разверните узел авторов dsAuthors и из раскрывающегося списка выберите au_id (рис. 4.33).

Рис. 4.33. Связывание текстового поля со столбцом таблицы набора данных

  1. Повторите шаги 2 и 3 для двух оставшихся текстовых полей, связав их с полями таблицы DsAuthors1.authors.au_lname и DsAuthorsl.authors.state.

Итак, мы реализовали возможность отображать содержание записей набора Данных в текстовых полях. Однако у нас пока нет возможности перемещаться между записями набора данных.