Класс DbDataReader

Класс DbDataReader предназначен для однонаправленного просмотра (но не для изменения!) предоставляемых данных. После перехода к следующей записи выборки данных текущая запись становится недоступной.

Чтобы создать объект DbDataReader без применения конструктора, необходимо вызвать метод ExecuteReader объекта DbCommand.

Для освобождения объекта DbDataReader надо использовать оператор using или блок try...finally (см. приложение 1).

Свойства класса приведены в таблице 15.

Таблица 15. Свойства класса DbDataReader
Свойство Описание
Depth Уровень вложенности текущей строки выборки данных (в иерархических запросах).
FieldCount Количество столбцов (с учетом скрытых столбцов) в выборке данных.
HasRows Индикатор наличия строк в выборке данных (т.е. позволяет проверить, пуста или нет выборка данных).
IsClosed Индикатор активности выборки данных.
Item(Int32) Значение столбца в текущей строке выборки данных по его порядковому номеру.
Item(String) Значение столбца в текущей строке выборки данных по его имени.
RecordsAffected Количество реально обработанных записей в БД после выполнения последнего SQL-запроса манипулирования данными (INSERT, DELETE, UPDATE).
VisibleFieldCount Количество видимых (не скрытых) столбцов в текущей выборке данных.
IsBeforeReadState Индикатор возможности работы с полями выборки данных.

Методы класса приведены в таблице 16.

Таблица 16. Методы класса 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 Предоставляет доступ к полям текущей строки выборки данных и перемещает указатель текущей строки выборки данных на следующую строку.