Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 271

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 265 266 267 268 269 270 < 271 > 272 273 274 275 276 277 .. 320 >> Следующая

// Создаее строку соединения этом мы шеек указать иня пользователя и пароль // для подключения)
OleDbConnection сп = new OleDbConnection О: cn.ConnectionString -
"ProvTJer-SOtOLEDB.l:" +
670 13 • Доступ к данным при помощи ADO.NEET
"Integrated security-SSPI:" + "Persist Security Info-False:" + "Initial Catalog-Cars;" + "Data Souree-BIGMMJ;";
cn.OpenO :
// Выполняем различные операции СП,Closet);
Конечно, ConnectionString, Open О и Closet) — не единственные члены класса Ol eDbConnect і on. Кроме них, в этом классе предусмотрено множество членов, которые позволяют настраивать самые разные параметры подключения. Их краткий перечень представлен в табл. 13 14.
Таблица 13.14. Члены класса QleDbConnection
Член Описание_
BeginTransactionO Используются для того, чтобы программным образом начать транзакцию,
CommitTransaction() завершить ее или отменить
RollbadtTransactionO
CloseO Закрывает соединение с источником данных (наиболее рекомендуемый
способ)
ConnectionString Позволяет настроить строку подключения при установлении соединения или получить ее содержание
ConnectionTimeout Позволяет получить или установить время тайм-аута при установке соединения
Database Позволяет получить или установить название текущей базы данных
во время подключения
Позволяет получить или установить имя
ОрепО Открывает соединение с базой данных, используя текущие настройки
свойств соединения
Provider Позволяет получить или установить имя провайдера
State Позволяет получить информацию о текущем состоянии соединения
Построение команды SQL
Объектно-ориентированным представлением запроса на языке SQL в ADO.NET является класс OleDbComniaml. Сам текст команды определяется через свойство 01 eDbCorranand. CoramandText. Множество типов ADO.NET принимают объект Ol eDbCom-Hiand в качестве параметра для того, чтобы передать запрос к источнику данных. Помимо свойства OoimiandText. которое позволяет определить сам текст запроса, в классе 01 eDbCommand предусмотрено также множество других членов, которые позволяют определить характеристики запроса (табл. 13.15).
Таблица 13.15. Члены класса OleDbCommand
Член Описание ™~~
Прекращает выполнение команды
получить или задать текст запроса на языке SQL с особенностями диалекта, определяемыми типом источника данных), который будет передан источнику данных
Управляемый провайдер OLE DB 671
Член Описание
CommandTimeout Позволяет получить время при выполнении команды.
По умолчанию это время равно 30 секундам
CommandType Позволяет получить или установить значение, определяющее, как именно
будет интерпретирован текст запроса, заданный через свойство. Позволяет получить ссылку на объект OleDbConnection, для которого используется данный объект CommandText
Connection Позволяет получить ссылку на объект OleDbConnection, для которого
используется данный объект OleDbCommand
ExecuteReader{) Возвращает объект OleDbDataReader
Parameters Возвращает коллекцию параметров OleDbParameterCollection
Готовит команду к выполнению (например, она будет откомпилирована) _на источнике данных_
Работа с типом OleDbCommand производится очень просто, при этом, как и в случае с 01 eDbConnect і on, в нашем распоряжении есть несколько способов добиться того же самого результата. В качестве примера приведем два варианта выполнения одной и той же команды SQLk объекту OleDbConnection. Для каждого из них будем считать, что у нас уже открыто соединение, представленное объектом OleDbConnection с именем сп:
//Первый вариант выполнения SQL-запроса
string strSQLl = "Select Make from Inventory where Color-W:
OleDbCommand myCormiandl - new 01eDbConnand(strSQLl. cn);
// Второй вариант выполнения SQL-запроса
string strS0L2 =- "Select Make from Inventory where Color='Red'": OleDbCommand rnyComriand2 - new OleDbCcmnandO: myCommand2.Connect!on - cn; myCamnand2.CommandText - strSQL2:
Работа с OleDbDataReader
После того как мы открыли соединение с источником данных и создали объект — команду SQL, следующая наша задача — передать эту команду (запрос) источнику данных. Это можно сделать несколькими способами, но использование 01 eCbDat.aReader — это наиболее простой, наиболее быстрый способ получения информации от источника данных... и наименее гибкий. Этот класс представляет одполаиравчешп-т (только вперед), доступный только для чтения поток данных, который за один раз игавращает одну строку в ответ на запрос SQL.
Класс OleDbDataReader очень полезен, когда нам необходимо последовательно обработать большое количество данных и в то же время не нужно выполнять с этими данными какие-либо операции в памяти, Например, если запрос возвращает 20 ООО записей из таблицы для помещения их в текстовый файл, организовывать для них промежуточное хранение в оперативной памяти через объект DataSet
было бы непрактичным (и с точки требований к оперативной памяти, и с точки
зрения производительности). Гораздо лучше поток данных, возвращаемый из источника данных, перенаправить напрямую в другой поток, производящий запись втекстовый файл. В этой ситуации нам и потребуется объект OleDbDataReader. Обратите внимание, что в отличие от DataSet, при использовании uleDbDitafteader со-
Предыдущая << 1 .. 265 266 267 268 269 270 < 271 > 272 273 274 275 276 277 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100