Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

4.2.4 Класс OleDbDataAdapter. //Заполняет объект DataSet данными, полученными из таблицы. //на источнике данных с указанным именем




4. 2. 4 Класс OleDbDataAdapter

Класс OleDbDataAdapter используется в тех случаях, когда необходимо заполнить полученными с сервера данными объект DataSet и выполнить с ними определенные операции.

Основное назначение этого класса – извлечь информацию из источника данных и заполнить ею объект DataTable в DataSet при помощи метода OleDbDataAdapter. Fill(). Метод Fill() многократно перегружен, ниже приведены два наиболее часто используемых варианта (возвращаемое значение int позволяет получить информацию о количестве записей, полученных из источника данных):

//Заполняет объект DataSet данными, полученными из таблицы

//на источнике данных с указанным именем

public int Fill(DataSet ds, string tableName);

//Также заполняет данными, но только теми, которые находятся

//в указанных границах

public int Fill(DataSet ds, string tableName, int startRecord, int maxRecord);

 

Конечно, перед тем, как вызывать этот метод, нужно иметь уже созданный объект OleDbDataAdapter. Конструктор OleDbDataAdapter также многократно перегружен, но обычно необходимо указать информацию о параметрах подключения к базе данных и команду SELECT на языке SQL, которая будет использована для заполнения DataTable.

OleDbDataAdapter позволяет не только заполнять объект DataTable внутри DataSet данными, полученными из источника, но и помещать измененные данные обратно в источник данных при помощи стандартных команд SQL. В таблице 1. 4 представлены компоненты класса OleDbDataAdapter, которые позволяют это сделать, а также некоторые другие важнейшие элементы этого класса.

 

Таблица 1. 4 – Основные компоненты класса OleDbDataAdapter

 

Компонент Описание
DeleteCommand InsertCommand SelectCommand UpdateCommand Используются для определения того, какая именно команда SQL будет передана на источник данных при вызове метода Update(). Каждое из этих свойств определяется при помощи объектов OleDbCommand
Fill() Заполняет указанную таблицу в DataSet определенным пользователем количеством записей
GetFillParameters() Возвращает все параметры, использованные при выполнении SELECT к источнику данных
Update() Вызывает соответствующие команды INSERT, UPDATE, DELETE к источнику данных для каждой вставленной, измененной или удаленной строки в таблице объекта DataSet

 

При использовании свойств DeleteCommand, InsertCommand, SelectCommand, UpdateCommand объект OleDbDataAdapter автоматически переводит внесенные изменения в таблицу данных в DataSet в соответствующие команды на языке SQL, сохраняя, таким образом, внесенные изменения в источнике данных. Эти свойства позволяют определить соответствующие команды SQL в деталях.

 

5 Пример выполнения задания

Задание: База данных из двух связанных таблиц «Телефонная книжка» создана в Microsoft Access. Реализовать с помощью управляемого провайдера OLE DB доступ к этой базе данных.

 

5. 1. Создание базы данных в Microsoft Access

База данных Organizer состоит из двух связанных таблиц: Contacts и Phones. Их структура приведена в таблице 1. 5.

Пример выполнения задания

Таблица 1. 5 – Структура таблиц базы данных

 

Название поля Тип поля Размер поля Примечание Назначение поля

Таблица Contacts

Id Счетчик Длинное целое Ключевое поле Номер записи
Fam Текстовый   Фамилия
Name Текстовый   Имя

Таблица Phones

PhoneId Счетчик Длинное целое Ключевое поле Номер записи
ContactId Числовой Длинное целое   Идентификатор контакта
Phone Текстовый   Телефон

 

Таблицы связываются между собой по номеру записи в таблице контактов. Данная связь показана на рисунке 1. 2.

 

Рисунок 1. 2 – Связывание таблиц БД

5. 2 Доступ к данным с помощью управляемого провайдера OLE DB

Прежде всего, следует поместить на форму компонент oleDbConnection и настроить его свойство ConnectionString, выбрав пункт < Новое подключение…>. Открывается диалоговое окно, представленное на рисунке 1. 3. С помощью кнопки Изменить… в правом верхнем углу окна надо установить вид источника данных ( Data source ) как Файл базы данных Microsoft Access. Далее с помощью кнопки Обзор… в строке Имя файла базы данных нужно указать путь и имя файла с базой данных. Кнопка Проверить подключение позволяет проверить правильность установления соединения.

 

Рисунок 1. 3 – Установление соединения с базой данных

 

Следующим шагом является создание адаптера – компонента, выполняющего непосредственную передачу данным между приложением и базой данных. Для начала необходимо поместить на форму компонент OleDbDataAdapter. При этом на экране появляется окно мастера настройки адаптера (рисунок 1. 4). Здесь следует проверить правильность указания пути к файлу БД.

Примечание. После нажатия кнопки Next мастером настройки будет предложен вариант работы с базой данных, при котором при каждом запуске программе будет создаваться копия базы данных в папке приложения. На данном шаге следует нажать кнопку «NO»!

 

Рисунок 1. 4 – Конфигурирование адаптера данных

 

Далее мастер предлагает задать команды SQL для загрузки данных в приложение. Кнопка Query Builder… данного окна предлагает визуальный метод построения данной команды. В открывшемся окне Add Table следует добавить в Query Builder главную таблицу БД – таблицу Contacts, а затем отметить в этой таблице все ее столбцы (рисунок 1. 5).

Аналогичным образом добавляется адаптер и для второй таблицы БД – таблицы Phones. Процесс создания данного адаптера аналогичен адаптеру таблицы Contacts (в окно Построитель запросов, естественно, нужно добавлять таблицу Phones ).

Следующим шагом является формирование набора данных – объекта DataSet. Для этого нужно в режиме дизайнера формы вызвать контекстное меню и выбрать в нем пункт Создать набор данных… Открывается соответствующее диалоговое окно (рисунок 1. 6), с помощью которого создается новый набор данных. В него следует добавить обе таблицы.

 

Рисунок 1. 5 – Построение команды SQL для доступа к таблице Contacts

 

Рисунок 1. 6 – Добавление в проект набора данных ( DataSet )

 

После этого в сгенерированный набор данных можно добавлять другие необходимые элементы: остальные таблицы БД, связи между ними, запросы и т. п. Для этого нужно в окне Обозреватель решений выбрать (дважды щелкнуть мышью) элемент DataSet1. xsd. Так, для нашего приложения в набор данных следует добавить отношение – связь между таблицами БД: в окне DataSet1. xsd в контекстном меню выбирается пункт Добавить®Отношение… Открывается диалоговое окно редактирования отношения, где можно задать имя создаваемого отношения, родительскую и подчиненную таблицы, ключевые поля, а также режимы автоматических изменений дочерней таблицы при изменении родительской таблицы. Для разрабатываемого приложения создается отношение с именем FK_Contacts_Phones. Его настройки приведены на рисунке 1. 7.

 

Рисунок 1. 7 – Создание отношения между таблицами

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...