Класс DbDataReader
Класс DbDataReader предназначен для однонаправленного просмотра (но не для изменения!) предоставляемых данных.
После перехода к следующей записи выборки данных текущая запись становится недоступной.
Чтобы создать объект DbDataReader без применения конструктора, необходимо вызвать метод
ExecuteReader объекта DbCommand.
Для освобождения объекта DbDataReader надо использовать оператор using или блок try...finally (см. приложение 1).
Свойства класса приведены в таблице 13.
Таблица 13. Свойства класса DbDataReader
| Свойство | Описание |
|---|---|
| Depth | Уровень вложенности текущей строки выборки данных (в иерархических запросах). |
| FieldCount | Количество столбцов (с учетом скрытых столбцов) в выборке данных. |
| HasRows | Индикатор наличия строк в выборке данных (т.е. позволяет проверить, пуста или нет выборка данных). |
| IsClosed | Индикатор активности выборки данных. |
| Item(Int32) | Значение столбца в текущей строке выборки данных по его порядковому номеру. |
| Item(String) | Значение столбца в текущей строке выборки данных по его имени. |
| RecordsAffected | Количество реально обработанных записей в БД после выполнения последнего SQL-запроса манипулирования данными (INSERT, DELETE, UPDATE). |
| VisibleFieldCount | Количество видимых (не скрытых) столбцов в текущей выборке данных. |
| IsBeforeReadState | Индикатор возможности работы с полями выборки данных. |
Методы класса приведены в таблице 14.
Таблица 14. Методы класса DbDataReader
| Метод | Описание |
|---|---|
Close
| Закрывает объект DbDataReader. |
GetBoolean
| Предоставляет приведенное к типу данных boolean значение указанного поля текущей строки выборки данных. |
GetByte
| Предоставляет приведенное к типу данных byte значение указанного поля текущей строки выборки данных. |
GetBytes
| Предоставляет приведенный к типу данных byte[] массив данных указанного поля текущей строки выборки данных. |
GetChar
| Предоставляет приведенный к типу данных char (в UTF-16 кодировке) первый символ указанного поля текущей строки выборки данных. |
GetChars
| Предоставляет приведенный к типу данных char[] массив данных указанного поля текущей строки выборки данных. |
GetData
| Предоставляет объект DbDataReader указанного поля текущей строки выборки данных. |
GetDataTypeName
| Предоставляет тип данных указанного поля текущей строки выборки данных |
GetDateTime
| Предоставляет значение типа DateTime указанного поля текущей строки выборки данных. |
GetDecimal
| Предоставляет значение типа Decimal указанного поля текущей строки выборки данных. |
GetDouble
| Предоставляет значение типа Double указанного поля текущей строки выборки данных. |
GetEnumerator
| Предоставляет перечислитель, используемый для перебора элементов в коллекции данных. |
GetFieldType
| Предоставляет тип данных указанного поля текущей строки выборки данных в формате .NET. |
GetFloat
| Предоставляет значение типа Float указанного поля текущей строки выборки данных. |
GetGuid
| Предоставляет значение в виде глобального уникального идентификатора (GUID) указанного поля текущей строки выборки данных. |
GetInt16
| Предоставляет значение в виде 16-битового целого числа со знаком указанного поля текущей строки выборки данных. |
GetInt32
| Предоставляет значение в виде 32-битового целого числа со знаком указанного поля текущей строки выборки данных. |
GetInt64
| Предоставляет значение в виде 64-битового целого числа со знаком указанного поля текущей строки выборки данных. |
GetLinterBlobForUpdate
| Предоставляет экземпляр класса LinterBlob для работы с BLOB-данными. |
GetName
| Предоставляет имя указанного поля текущей строки выборки данных. |
GetOrdinal
| Предоставляет порядковый номер указанного именованного поля текущей строки выборки данных. |
GetProviderSpecificFieldType
| Предоставляет тип данных указанного поля текущей строки выборки данных в терминах СУБД ЛИНТЕР |
GetProviderSpecificValue
| Предоставляет значение указанного поля текущей строки выборки данных в виде экземпляра класса Object. |
GetProviderSpecificValues
| Предоставляет массив значений всех полей текущей строки выборки данных. |
GetSchemaTable
| Предоставляет метаданные текущей выборки данных. |
FastGetSchemaTable
| Аналогичен методу GetSchemaTable (отличие в способе получения метаданных из БД). |
GetString
| Предоставляет символьное значение указанного поля текущей строки выборки данных. |
GetValue
| Предоставляет значение указанного поля текущей строки выборки данных в виде .NET-объекта. |
GetValues
| Предоставляет массив значений полей текущей строки выборки данных в виде .NET-объектов. |
IsDBNull
| Индикатор null-значения указанного поля текущей строки выборки данных. |
NextResult
| Выполняет переход к следующей выборке данных (в случае пакетного выполнения SQL-запросов). |
Read
| Предоставляет доступ к полям текущей строки выборки данных и перемещает указатель текущей строки выборки данных на следующую строку. |