Представление связанных таблиц в элементе управления 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!