Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Установление соединения при помощи типа OleDbConnectionСтр 1 из 4Следующая ⇒
Лабораторная работа №5. Разработка приложений с применением управляемых провайдеров ADO.NET Цель работы Изучить общую структуру и основные виды провайдеров технологии ADO.NET. Научиться применять классы и методы, используемые при работе с управляемым провайдером OLE DB
Сведения из теории В платформе .NET определено множество типов (организованных в соответствующие пространства имен), которые помогают обеспечить взаимодействие с локальными и удаленными хранилищами данных. Общее название пространств имен с этими типами – ADO.NET. Все типы ADO.NET предназначены для выполнения единого набора задач: установить соединение с хранилищем данных, создать и заполнить данными объект DataSet, отключиться от хранилища данных и вернуть изменения, внесенные в объект DataSet, обратно в хранилище данных. Объект DataSet – это тип данных, представляющий локальный набор таблиц и информацию об отношениях между ними. После создания объекта DataSet и его заполнения данными можно программными средствами производить запросы к нему и перемещаться по таблицам. Можно выполнять все операции как при работе с обычными базами данных: добавлять в таблицы новые записи, удалять и изменять существующие, применять к ним фильтры и т.п. После того как клиент завершит внесение изменений, информация о них будет отправлена в хранилище данных для обработки.
Общие сведения об управляемых провайдерах ADO.NET Управляемый провайдер в ADO.NET – это шлюз к хранилищу данных (например, на сервере баз данных), при помощи которого можно произвести загрузку данных из этого внешнего хранилища в объект DataSet. Взаимодействие управляемых провайдеров .NET Framework и объекта DataSet приведено на рисунке 5.1. Вместе с ADO.NET поставляются несколько управляемых провайдеров: - провайдер OLE DB, который реализуется при помощи типов, определенных в пространстве имен System.Data.OleDb. Этот провайдер позволяет обращаться к данным, расположенным в любом хранилище, к которому можно подключиться по протоколу OLE DB, например, в базах данных SQL Server 6.5 или ранее, MS Access; - провайдер SQL – предлагает прямой доступ к хранилищам данных на MS SQL Server 7.0 и последующих версий. Типы, используемые провайдером SQL, содержатся в пространстве имен System.Data.SqlClient; - провайдер ODBC – предназначен для приложений, использующих источники данных ODBC. Типы, используемые этим провайдером, содержатся в пространстве имен System.Data.Odbc; - провайдер Oracle – предназначен для приложений, использующих источники данных Oracle. Типы, используемые этим провайдером, содержатся в пространстве имен System.Data.OracleClient.
Рис. 5.1. Архитектура ADO.NET
В пространстве имен System.Data.Commonопределено множество абстрактных типов, которые обеспечивают общий интерфейс для всех управляемых провайдеров. Так, все провайдеры реализуют интерфейс IDbConnection, который используется для конфигурирования и открытия сеанса подключения к источнику данных. Типы, которые реализуют другой интерфейс – IDbCommand – используются для выполнения SQL-запросов к базам данных. IDataReader обеспечивает считывание данных при помощи однонаправленного курсора только для чтения. Типы, которые реализует IDbDataAdapter, ответственны за заполнение объекта DataSet данными из базы данных. В данной работе будет рассматриваться доступ к данным с использованием управляемого провайдера OLE DB.
Управляемый провайдер OLE DB Основные классы пространства имен System.Data.OleDb представлены в таблице:
Установление соединения при помощи типа OleDbConnection При работе с управляемым провайдером OLE DB первое, что нужно сделать – установить соединение с источником данных при помощи класса OleDbConnection. Для этого класса предусмотрено использование строки подключения, состоящей из пар имя – значение. С ее помощью можно задать имя компьютера или файла, к которому производится подключение, параметры безопасности подключения, имя базы данных, а также имя самого провайдера OLE DB. Для подключения к базе данных MS Access используется провайдер Microsoft.Jet.OLEDB.4.0. После настройки строки подключения следующее, что нужно сделать, - открыть сеанс соединения с источником данных, после этого выполнить нужные действия и разорвать соединение. Основные компоненты класса OleDbConnection приведены в таблице:
Построение команды SQL Объектно-ориентированным представлением запроса на языке SQL в ADO.NET является класс OleDbCommand. Сам текст команды определяется через свойство CommandText. Множество типов ADO.NET принимают объект OleDbCommand в качестве параметра для того, чтобы передать запрос к источнику данных. Также в классе OleDbCommand предусмотрено множество других компонентов, которые позволяют определить характеристики запроса (см. таблицу).
Работа с OleDbDataReader После того, как соединение с источником данных открыто и создан объект – команда SQL, следующая задача – передать эту команду (запрос) источнику данных. Это можно сделать несколькими способами, но использование OleDbDataReader – это наиболее простой, наиболее быстрый способ получения информации от источника данных … и наименее гибкий. Этот класс представляет однонаправленный (только вперед), доступный только для чтения поток данных, который за один раз возвращает одну строку в ответ на запрос SQL. Класс OleDbDataReader очень полезен, когда необходимо последовательно обработать большое количество данных и в то же время не нужно выполнять с этими данными какие-либо операции в памяти. В отличие от DataSet, при использовании OleDbDataReader соединение с базой данных не закрывается автоматически, а сохраняется активным до тех пор, пока не будет закрыто явным образом.
Класс 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. Ниже в таблице представлены компоненты класса OleDbDataAdapter, которые позволяют это сделать, а также некоторые другие важнейшие элементы этого класса.
При использовании свойств DeleteCommand, InsertCommand, SelectCommand, UpdateCommand объект OleDbDataAdapter автоматически переводит внесенные изменения в таблицу данных в DataSet в соответствующие команды на языке SQL, сохраняя, таким образом, внесенные изменения в источнике данных. Эти свойства позволяют определить соответствующие команды SQL в деталях.
Пример выполнения работы Задание: База данных из двух связанных таблиц «Телефонная книжка» создана в Microsoft Access. Реализовать с помощью управляемого провайдера OLE DB доступ к этой базе данных.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2018-06-01; просмотров: 270. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |