Технология Microsoft ADO.NET

       

Подключение к базе данных - технология ADO .NET. Мастер Data Form Wizard


Мастер Data Form Wizard из Visual Studio .NET позволяет быстро, буквально в несколько шагов, создать связанную с данными форму. Код, генерируемый мастером, можно будет просматривать и изменять.

Мы рассмотрим подключение к базе данных Microsoft Access BDTur_firm.mdb, которую мы создали сами. Наша задача: вывести содержимое двух связанных таблиц - "Туристы" и "Информация о туристах" на Windows-форму.

Запустите Visual Studio .NET, создайте новый проект, тип проекта - Windows Application. Назовите его DataWizardMDB.

В окне Solution Explorer щелкаем правой кнопкой мыши на имени проекта DataWizardMDB и в появившемся меню выбираем Add/Add New Item. В появившемся окне выбираем мастер Data Form Wizard, как показано на рис. 2.1:


Рис. 2.1.  Создание Data Form Wizard

Называем новую форму DataFormMDB.cs. В появившемся мастере нажимаем кнопку "Next". В следующем шаге определяется объект DataSet, название которого должно соответствовать содержимому, поэтому называем его dsTourists. В следующем шаге мастера "Choose a data connection" требуется создать подключение к базе данных. Поскольку у нас еще нет никакого подключения, нажимаем на кнопку "New Connection". В появившемся окне "Свойства связи с данными" необходимо определить параметры создаваемого подключения. Переключаемся на вкладку "Поставщик данных" для выбора нужного поставщика OLE DB (рис. 2.2):


Рис. 2.2.  Определение поставщика данных

Поставщик данных Microsoft Jet 4.0 OLE DB Provider позволяет подключаться к базам данных формата Microsoft Aceess (mdb). Нажимаем кнопку "Далее" (или переходим на вкладку "Подключение") (рис. 2.3 ):


Рис. 2.3.  Задание параметров подключения

В пункте 1 нажимаем кнопку (...) и указываем путь к базе данных BDTur_firm.mdb, расположенную на вашем компьютере. В пункте 2 можно оставить значение по умолчанию - если вы специально не изменяли имя пользователя и пароль доступа к базе, то стандартное имя "Admin" позволит создать подключение.
Если вы правильно настроили права доступа к базе данных, то при нажатии кнопки "Проверить подключение" система выдаст сообщение "Проверка подключения выполнена". На вкладках "Дополнительно" и "Все" можно устанавливать права доступа и просматривать все свойства формируемого подключения. Не изменяя ничего на этих вкладках, нажимаем "OK".

Далее нам предстоит определить, какую таблицу базы данных мы собираемся извлекать. В окне мастера перечислены все доступные в схеме базы данных таблицы, представления и хранимые процедуры. Выберите в списке Available Items нужные таблицы и переместите их в список Selected Items, щелкнув кнопку с направленной вправо стрелкой. Если вы ошиблись и хотите удалить какие-то таблицы из списка Selected Items, выберите их и щелкните кнопку со стрелкой влево. Кроме того, добавлять и удалять таблицы можно, дважды щелкнув их название мышью. Выбираем две таблицы: "Туристы" и "Информация о туристах" (рис. 2.4):


Рис. 2.4.  Выбор таблиц, которые будут отображаться на форме

Теперь необходимо определить отношение между таблицами. Отношения позволяют обеспечивать соблюдение правил ссылочной целостности, каскадно передавая изменения от одной таблицы к другой. Кроме того, они упрощают поиск данных в таблицах. Название отношения рекомендуется составлять из имен родительской и дочерней таблиц (именно в таком порядке). В качестве имени выберем TouristsInfoTourists. Далее определяем родительскую таблицу (Parent table) - "Туристы" и дочернюю (Child table) - "Информация о туристах". Поле "Код туриста" определяет связь между этими таблицами. Щелкните кнопку со стрелкой вправо, чтобы добавить отношение в список Relations, и затем щелкните Next.

Рис. 2.5.  Задание связей между таблицами


Далее определяем столбцы (поля), извлекаемые из обеих таблиц. Оставляем все поля (рис. 2.5).

В последнем шаге мастера предстоит определить вид размещения данных на форме - всех записей в виде таблицы (All records in a grid) либо каждой записи в отдельном текстовом поле (Single records in individual control).


Выбираем второй вариант. Здесь же можно определить наличие дополнительных элементов управления - кнопок навигации и изменения записей. Оставляем эти значения по умолчанию. Завершаем работу мастера, нажимая кнопку "Finish".

Возникает сообщение - "Пароль будет сохранен в виде текста и будет доступен для чтения в коде и сборке". Выбрав "Include password", вы включаете пароль в приложение (он будет доступен), но избавляетесь от необходимости введения имени пользователя и пароля каждый раз при подключении к базе данных (рис. 2.6).


Рис. 2.6.  Выбор расположения пароля

Практически все готово. Однако, запустив приложение, мы обнаруживаем, что по-прежнему появляется пустая форма Form1. Переходим в код Form1 и копируем следующий участок кода:

[STAThread] static void Main() { Application.Run(new Form1()); }

В коде DataFormMDB после Windows Form Designer generated code вставляем код и изменяем название запускаемой формы:

static void Main() { Application.Run(new DataFormMDB ()); }

В окне Solution Explorer щелкаем правой кнопкой на Form1.cs и удаляем его. Теперь, запуская приложение, мы видим DataFormMDB (рис. 2.7):


Рис. 2.7.  Готовая форма

В созданном приложении имеется несколько кнопок. Для загрузки данных нажимаем кнопку Load. Для перемещения по записям используем навигационные кнопки. При этом во второй таблице отображается список продуктов, поставляемых данным поставщиком. Для добавления новой или удаления текущей записи служат кнопки Add и Delete, для отмены изменений текущей записи - Cancel. Все изменения буферизуются и могут быть отменены нажатием кнопки Cancel All. Для передачи изменений в базу данных нажимаем кнопку Update - тогда записи изменяются в самом файле BDTur_firm.mdb.

Подключение к базе данных с помощью мастера позволяет создать приложение без всякого знания технологии ADO .NET. Конечно же, подобная разработка не может нас устраивать для коммерческих приложений, требующих несравненно более гибкого кода.DataForm Wizard всего лишь генерирует код, который можно просматривать и изменять в соответствии с задачами проекта.

В программном обеспечении к курсу вы найдете приложение DataWizardMDB (Code\Glava1 DataWizardMDB).


Содержание раздела