Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРОГ_ИНЖ / Лекция 6.ppt
Скачиваний:
113
Добавлен:
16.03.2015
Размер:
1.63 Mб
Скачать

Общие поставщики (преимущества)

Можно ограничиться минимальным набором функций, общим для всех источников данных, и воспользоваться поставщиком данных либо ODBC, либо OleDb. Для этих поставщиков характерны слабая производительность и скудные возможности, но они позволяют написать код, не зависящий от СУБД.

ADO.NET предоставляет стандартные интерфейсы и базовые классы для наиболее распространенных объектов. Работая с типами данных, представленными либо в базовом интерфейсе, либо в реализованном интерфейсе, можно избежать ошибок преобразования типов во время выполнения. Недостатком этого подхода является то, что приходится ограничиваться минимальным набором общих функций.

22

Базовые классы

Каждый поставщик данных .NET реализует одинаковые базовые классы — ProviderFactory, Connection, ConnectionStringBuilder, Command, DataReader, Parameter и Transaction, имена которых зависят от

поставщика.

Например, у поставщика SQL Client .NET Data Provider есть объект SqlConnection, а у поставщика ODBC .NET Data Provider это объект QdbcConnection.

Независимо от типа поставщика объект Connection реализует одинаковые базовые функции посредством одних и тех же базовых интерфейсов.

23

Пример

24

Зачем ???

В предыдущих технологиях доступа к данным Microsoft нет отдельных библиотек и классов для разных хранилищ данных. Почему компания решилась на такое существенное изменение. Основных причин три: производительность, возможность расширения и пролиферация.

25

Повышенная

производительность

Как переход к использованию поставщиков данных .NЕТ повышает производительность? Создавая ADOкод, вы, взаимодействуя с БД, по сути, используете интерфейсы ADO в качестве «посредника». Вы указываете ADO, какой поставщик следует использовать, и модель передает ему все ваши вызовы. Поставщик выполняет необходимые действия и возвращает вам результат через библиотеку ADO. У поставщиков данных .NET промежуточный уровень отсутствует. Вы обращаетесь непосредственно к поставщику, и тот взаимодействует с хранилищем данных с помощью низкоуровневых интерфейсов программирования последнего. Взаимодействие с SQL Server в ADO.NET посредством поставщика SQL Client .NET Provider происходит быстрее, чем в ADO с помощью OLE DBпоставщика SQL Server, поскольку в ADO.NET использовано на один уровень меньше.

26

Базовые классы

Подсоединенных объектов

27

Класс Connection

Применяется для соединения с БД и отсоединения от нее. С помощью свойств

этого объекта можно задать тип источника, его расположение пр. Объект Connection

выступает в качестве канала, по которому другие классы, например DataAdapter и Command, взаимодействуют с БД для передачи изменении и выборки их результатов.

28

Класс ConnectionStringBuilder

Новый класс в ADO.NET версии 2.0. Этот класс

облегчает процесс построения строк подключения для поставщика данных .NET. Каждый класс

ConnectionStringBuilder предоставляет свойства, которые соответствуют опциям, доступным в той самой строке подключения поставщика данных.

Создав строку подключения с помощью класса

ConnectionStringBuilder, можно получить доступ к

строке подключения средствами свойства

ConnectionString класса ConnectionStringBuilder.

29

Класс Command

Могут осуществлять запрос к БД, вызов хранимой процедуры или прямой запрос на возврат содержимого конкретной таблицы. Команда может возвратить или нет какой-либо результат (в зависимости от этого выполнение объекта Command запускается различными методами)

30

Класс DataReader

Класс DataReader предназначен для максимально быстрой выборки и просмотра возвращаемых запросом записей. Он позволяет просматривать результаты запроса по одной записи за раз. При

переходе к следующей записи содержимое предыдущей отбрасывается. Объект DataReader не поддерживает обновление, и возвращаемые им

данные доступны только для чтения. Поскольку класс DataReader реализует лишь ограниченный набор функций, он очень прост и имеет высокую производительность.

31

Соседние файлы в папке ПРОГ_ИНЖ