В качестве примера отношения многие-ко-многим можно модифицировать пример из предыдущего раздела таким образом, чтобы в базе данных хранилось несколько позиций, связанных с одним заказом, т.е. у каждого заказа было много позиций и каждая позиция относилась к неограниченному количеству заказов. В этом случае таблицы могут выглядеть так, как показано на рис. 1.13.
РИС. 1.13. В этой группе таблиц, участвующих в отношении многие-ко-многим, tbIOrderItem является таблицей соединения
Создание пользовательского интерфейса на основе Windows Forms
Разработчики предыдущих версий Visual Basic первыми предложили концепцию связывания данных, согласно которой связанный с данными объект или
В прошлом разработчик мог установить связь между формой Visual Basic и базой данных с помощью элементов управления данными. Они предоставляют основные функции просмотра данных, позволяя приложению манипулировать наборами данных, вводить и обновлять их.
На платформе .NET операциями подключения к базе данных и извлечения данных управляет автоматически созданный код, что позволяет добиться ряда преимуществ.
1. Автоматически созданный код, в отличие от абстрактного элемента управления данными, можно просматривать, поэтому он позволяет в большей степени контролировать способы доступа к данным.
2. Изучая автоматически созданный код, программист может познакомиться с классами платформы .NET, предназначенными для доступа к данным, что особенно полезно для тех, кто не имеет опыта работы на платформе .NET.
3. Основное назначение элементов управления данными в прежней версии Visual Basic это подключение к базе данных, создание запроса к ней и управление данными. Теперь эти функции распределены между несколькими объектами, каждый из которых можно отдельно конфигурировать и использовать.
В приведенных ранее примерах создана база данных, которая вполне подходит для ознакомления с основными принципами создания связанного с данными пользовательского интерфейса. В следующих разделах демонстрируются способы создания связанных с базой данных приложений на основе Windows Forms.
Подключение к базе данных и работа с записями
Нет ничего проще, чем создать приложение на основе Windows Forms. И в этом заявлении нет никакого преувеличения; более того, если вас интересует лишь просмотр содержимого базы данных, вам вообще не придется писать ни единой строки кода. Весь процесс состоит из двух этапов: подключение к базе данных и связывание последнего пользовательского интерфейса с источником данных, генерированным Visual Studio .NET. Для этого выполните перечисленные ниже действия.
1. В Visual Studio .NET создайте новый проект на основе Windows Forms и откройте новую форму Form1.
2. В окне Server Explorer найдите созданную ранее таблицу tblCustomer и перетащите ее из окна Server Explorer в форму Form1.
3. После этого в нижней части окна с формой Form1 появятся объекты SqlConnection1 и SqlDataAdapter1.
Для извлечения и отображения данных используются три объекта: объект SqlConnection1 создает подключение к базе данных, объект-адаптер SqlDataAdapter1 извлекает данные, а объект DataSet сохраняет данные, извлеченные адаптером SqlDataAdapter1. Для создания объекта DataSet выполните следующее.
1. Выберите команду меню Data→Generate Dataset (Данные1→Генерация набора данных), и на экране появится диалоговое окно Generate Dataset.
2. Воспользуйтесь всеми заданными по умолчанию параметрами и щелкните на кнопке OK. В результате будет создан новый объект DataSet11, который будет располагаться в нижней части окна под формой Form1 возле объектов SqlConnection1 иSqlDataAdapter1.
Для просмотра данных в форме создайте в форме элемент управления пользовательского интерфейса и свяжите его с только что созданным объектом DataSet11, выполнив перечисленные ниже действия.
1. Откройте панель элементов управления Toolbox с помощью команды меню View→Toolbox (Просмотр→Панель инструментов управления), перейдите во вкладку Windows Forms и найдите элемент управления DataGrid (Сетка данных). Перетащите его в форму Form1, и в ней появится экземпляр DataGrid1 объекта DataGrid.
2. Свяжите этот элемент управления с источником данных. Для этого с помощью команды меню View→Properties Window (Просмотр1→Окно свойств) откройте окно свойств Properties и выберите для свойства DataSource (Источник данных) сетки DataGrid1 источник данных DataSet11. Затем выберите для свойства DataMember (Элемент данных) сетки DataGrid1 таблицу tblCustomer.