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

4.5.9. Тестирование работы приложения

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

Для тестирования работы формы выполните следующие действия.

  1. Нажмите клавишу <F5> для запуска формы.

  1. Когда форма появится на экране, введите код штата Калифорния (са) в соответствующем текстовом поле, и затем нажмите кнопку Показать авторов.

В текстовых полях будет отображена информация из базы данных о первом авторе, который живет в Калифорнии.

3. Нажимайте кнопки Предыдущая и Следующая, чтобы убедится в корректности перемещения по записям (рис. 4.35).

Рис. 4.35. Форма во время работы приложения

4. Введите значение нового кода штата в текстовое поле (например, UT для штата Юта), и затем нажмите кнопку Показать авторов.

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

4.6. Работа со связанными таблицами в Windows-формах

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

Разъединенная модель набора данных в Visual Studio позволяет работать не только с дискретными таблицами в вашем приложении, но и определять отношения между ними. Тогда можно использовать эти отношения, чтобы перемещаться между связанными записями.

Это приложение иллюстрирует простой, но законченный пример работы со связанными таблицами в наборе данных. Мы создадим Windows-форму, в которой отображается информация об издательствах (родительская таблица), и об изданных ими книгах (дочерняя таблица).

Пример предполагает прохождение следующих шагов:

  • создание Windows-формы;

  • создание и конфигурирование набора данных, который содержит две таблицы, создание реляционных отношений между таблицами;

  • добавление элементов отображения данных и связывание их с соответствующими объектами хранения данных;

  • формирование программного кода, обеспечивающего заполнение набора данных;

  • тестирование работы формы.

4.6.1. Создание и Windows-формы

На первом шаге создается Windows-форма в следующей последовательности.

  1. Из меню File выберите команду Add Windows Form.

  2. Появиться диалоговое окно Add New Iten.

  3. Нажмите кнопку Add и в проект будет добавлена новая форма с именем Form3.

На следующем шаге добавьте к форме и сконфигурируйте набор данных. В примере данного раздела набор данных будет содержать две таблицы: таблицу издательств (publishers) и таблицу наименований книг (titles). Обе таблицы присутствуют в базе данных Pubs, поставляемой вместе с SQL Server. Таблицы имеют реляционные отношения. Поле, идентифицирующее издательство (pub_id), является первичным ключом таблицы Publishers и внешним ключом к таблице Titles.

4.6.2. Конфигурирование DataConnection и Data Adapter

Работа над созданием соединения и адаптера данных будет происходить следующим образом. Сначала необходимо сформировать адаптеры данных, которые содержат SQL-запросы, заполняющие наборы данных информацией на этапе работы приложения. Как часть этого процесса, автоматически будет создано соединение с базой данных. Для конфигурации адаптеров данных будет использоваться соответствующий мастер. Для данного приложения нужно будет создать два адаптера данных, один, чтобы заполнять данными таблицу publishers, другой для получения данных из таблицы titles.

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

1. Из вкладки Data окна Toolbox перенесите на форму объект OleDbDataAdapter.

Примечание

Вы можете также использовать объект SqlDataAdapter, который оптимизирован для работы SQL Server версии 7.0 и выше.

Будет запущен мастер Data Adapter Configuration Wizard, который поможет создать объекты DataConnection и DataAdapter.

2. В мастере выполните следующие действия:

  • На второй странице создайте или выберите соединение, указывающее на базу данных Pubs вашего SQL-сервера;

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

  • На четвертой странице создайте следующий SQL-запрос (рис. 4.36):

SELECT pub_id, pub__name FROM publishers

Примечание

Для помощи формирования SQL-запроса нажмите Query Builder, чтобы запустить мастер формирования запросов Query Builder.

3. Щелкните кнопку Finish для завершения работы мастера.

Мастер создаст соединение с базой данных (объект oleDbConnectioni) и адаптер данных (объект oleDbDataAdapteri), который будет содержать SQL-запрос для получения записей из таблицы Publishers.

Рис. 4.36. Формирование запроса в окне Query Bilder

  1. Перетащите на форму второй объект OleDbDataAdapter. Снова будет запущен мастер Data Adapter Configuration Wizard.

  2. В окне мастера выполните следующие действия.

  • На второй странице выберите то же самое соединение, которое вы использовали или создали для работы с таблицей publishers.

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

  • На четвертой странице создайте следующий SQL-запрос для обращения r таблице titles.

SELECT title_id, title, pub_id, price FROM titles

Примечание

В предложение select необходимо обязательно включить столбец pub_id.

6. Мастер добавит на форму еще один адаптер данных OleDbDataAdapter2. На следующем этапе необходимо будет сгенерировать набор данных.