Обработка баз данных на Visual Basic®.NET
Шрифт:
В качестве примера отношения многие-ко-многим можно модифицировать пример из предыдущего раздела таким образом, чтобы в базе данных хранилось несколько позиций, связанных с одним заказом, т.е. у каждого заказа было много позиций и каждая позиция относилась к неограниченному количеству заказов. В этом случае таблицы могут выглядеть так, как показано на рис. 1.13.
РИС. 1.13. В этой группе таблиц, участвующих в отношении многие-ко-многим, tbIOrderItem
Создание пользовательского интерфейса на основе Windows Forms
Разработчики предыдущих версий Visual Basic первыми предложили концепцию связывания данных, согласно которой связанный с данными объект или элемент управления данными (data control) позволяет программистам с минимальными усилиями создавать простые, связанные с данными пользовательские интерфейсы. В Visual Basic .NET эта концепция также поддерживается, а многие недостатки прежней версии устранены.
В прошлом разработчик мог установить связь между формой 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.
Для извлечения и отображения данных используются три объекта: объект 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.
3. Наконец, создайте код извлечения данных из базы данных и вставки их в сетку DataGrid1. Для этого дважды щелкните на форме, и в окне просмотра кода автоматически появится процедура Form1_Load. Введите в ней следующий код:
4. Запустите полученное приложение с помощью команды меню Debug→Start (Отладка→Запуск), и в окне приложения будут отображены данные из таблицы tblCustomer.
Здесь следует отметить одну особенность данного приложения. Все внесенные в нем изменения данных не будут отражены и сохранены в базе данных. Для их сохранения нужно создать дополнительный код вызова метода объекта DataAdapter. Эта тема рассматривается далее, в разделе об обновлении записей.
Создание приложения для просмотра данных
В предыдущем примере показан простейший способ связывания данных на основе извлечения всей таблицы и отображения ее в элементе управления DataGrid. А как отобразить только одну запись? Для этого потребуется использовать элементы управления TextBox и Button, а также создать дополнительный код.