- •Лабораторная работа №5. Разработка приложений с применением управляемых провайдеров ado.Net
- •1. Цель работы
- •2. Сведения из теории
- •2.1. Общие сведения об управляемых провайдерах ado.Net
- •2.2. Управляемый провайдер ole db
- •2.2.1. Установление соединения при помощи типа OleDbConnection
- •2.2.2. Построение команды sql
- •2.2.3. Работа с OleDbDataReader
- •2.2.4. Класс OleDbDataAdapter
- •3. Пример выполнения работы
- •2.1. Создание базы данных в Microsoft Access
- •3.2. Доступ к данным с помощью управляемого провайдера ole db
- •3.3. Визуальное проектирование диалогового окна
- •3.4. Проектирование программного кода
- •4. Варианты заданий для самостоятельной работы
3.3. Визуальное проектирование диалогового окна
Внешний вид работающего приложения приведен на рисунке 5.8.
Рис. 5.8. Главная форма приложения
Для отображения данных, полученных из базы, в программе будут использоваться компоненты DataGridView, по одному для каждой таблицы базы данных. Имена их по умолчанию устанавливаются как dataGridView1 и dataGridView2.
Компонентам-таблицам dataGridView1 и dataGridView2 нужно установить свойство DataSource, задающее источник данных для отображения в таблице, в «contactsBindingSource» и «phonesBindingSource» соответственно. Кроме того, при необходимости можно отредактировать заголовки и другие настройки столбцов таблиц (свойство Columns). В данном приложении в столбце ContactId компонента dataGridView2 для наглядности отображается не числовой идентификатор человека, которому принадлежит телефон, а его фамилия, причем для отображения используется тип столбца «DataGridViewComboBoxColumn» (свойство ColumnType). Настройка остальных свойств данного столбца приведена на рисунке 5.9.
Рис. 5.9. Настройка столбца ContactId компонента dataGridView2
3.4. Проектирование программного кода
Для отображения в компонентах DatagridView данных из таблиц необходимо прежде всего открыть настроенное соединение с базой данных, а затем заполнить таблицы, созданные в объекте DataSet данными из таблиц в базе. В нашем случае делается это при загрузке главного окна программы, в обработчике события Load:
private void Form1_Load(object sender, EventArgs e)
{
oleDbConnection1.Open(); //открыть соединение
//заполнить таблицы в объекте DataSet
oleDbDataAdapter1.Fill(dataSet11.Contacts);
phonesTableAdapter.Fill(dataSet11.Phones);
}
При закрытии формы необходимо отключить соединение с базой данных:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
oleDbConnection1.Close(); //закрыть соединение
}
4. Варианты заданий для самостоятельной работы
В каждом варианте необходимо разработать базу данных минимум из двух связанных между собой таблиц. В каждой таблице – не менее трех полей. Реализовать доступ к созданной базе с помощью управляемого провайдера OLE DB.
№ варианта |
БД |
Таблицы |
|
Студенты университета |
Студенты, факультеты, специальности и т.п. |
|
Склад магазина |
Товары, поставщики, категории товаров и т.п. |
|
Персонал предприятия |
Сотрудники, отделы, документы отдела кадров и т.п. |
|
Владельцы автомобилей |
Автомобили, автовладельцы и т.д. |
|
Библиотека |
Книги, читатели, книги на руках у читателей и т.п. |
|
Очередь на жилье |
Список жилья, список очередников и т.д. |
|
Аптека |
Лекарства, категории лекарств, виды болезней и т.п. |
|
Касса аэропорта |
Рейсы, проданные билеты и т.д. |
|
Банковские кредиты |
Заемщики, виды кредитов, поручители и т.п. |
|
Гостиница |
Список номеров, категории номеров, постояльцы и т.п. |
|
Риэлтерская фирма |
Квартиры, покупатели, сделки и т.д. |
|
Справка по языку C# |
Пространства имен, классы, методы и т.п. |
|
Учет операций с акциями |
Виды акций, владельцы, операции и т.д. |
|
Таксопарк |
Транспортные средства, водители, рейсы и т.п. |
|
Кафе |
Продукты, рецепты, поставщики и т.д. |
|
АЗС |
Виды топлива, поставщики, продажи и т.п. |
|
Поликлиника |
Врачи, пациенты, консультации и т.д. |
|
Семейный бюджет |
Виды поступлений, виды затрат, покупки и т.д. |
|
Табель рабочего времени |
Сотрудники, виды работ, табель и т.п. |
|
Туристическая фирма |
Виды туров, клиенты, заказы и т.п. |
|
Справочник географа |
Континенты, страны, реки, моря и т.д. |
|
ЖЭК |
Дома, жильцы, виды обслуживания, заявки и т.п. |
|
Адвокатура |
Адвокатские конторы, адвокатские услуги, адвокаты |
|
Пресса |
Виды периодического издания, издания, авторы и т.д. |
|
Банкомат |
Карточки, виды операций, совершенные операции и т.п. |
|
Касса стадиона |
Матчи, категории билетов, проданные билеты и т.д. |
|
АТС |
Абоненты, категории звонков, звонки и т.п. |
|
Web-форум |
Посетители, темы, сообщения и т.д. |
|
Кинопрокат |
Кинотеатры, фильмы в прокате, жанры и т.п. |
|
Учебные курсы |
Области знаний курсов, преподаватели, курсы и т.д. |