Представление связанных таблиц в элементе управления DataGrid



В предыдущем примере мы рассмотрели возможность работы со связанными таблицами базы данных с представлением их в различных визуальных элементах управления. Однако эту задачу можно решить с использованием единственного элемента управления, причем уровень иерархии связанных таблиц особой роли не играет. В Visual Studio для этих целей можно использовать элемент управления DataGrid, который имеет встроенный механизм отображения информации из таблиц, имеющих реляционные связи. В примере этого раздела мы рассмотрим три связанные между собой таблицы: Заказчики, Заказы и Детали заказа. Для выполнения этого примера воспользуемся базой данных Northwind, которая поставляется вместе с SQL Server, и где есть соответствующие таблицы: Customers, Orders и Order Details.

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

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

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

□ создание соединения с базой данных;

□ создание и конфигурирование адаптеров данных, которые обеспечивают взаимодействие с тремя таблицами базы данных;

□ добавление элемента управления DataGrid и кнопки (для загрузки и отображения данных);

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

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

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

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

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

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

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

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

4.7.2. Конфигурирование объектов DataConnection и DataAdapter

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

1. На вкладке Data окна Toolbox, дважды щелкните на объекте SqlDataAdapter.

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

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

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

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

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

SELECT Customers.* FROM Customers

Примечание

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

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

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

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

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

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

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

• На четвертой странице создайте SQL-запрос, чтобы обращаться к таблице orders:

SELECT Orders.* FROM Orders

Мастер добавит на форму еще один адаптер данных SqlDataAdapter2.

6. Перетащите на форму третий объект SqlDataAdapter. Снова будет запущен мастер DataAdapter Configuration Wizard..

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

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

• На четвертой странице создайте следующий SQL-запрос, чтобы обращаться к таблице Order Details.

SELECT [Order Details].* FROM [Order Details]

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


Дата добавления: 2018-02-15; просмотров: 410; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!