Поделиться через


OdbcDataReader Класс

Определение

Предоставляет способ чтения потока данных только для перенаправления строк данных из источника данных. Этот класс не может быть унаследован.

public ref class OdbcDataReader sealed : System::Data::Common::DbDataReader
public ref class OdbcDataReader sealed : MarshalByRefObject, IDisposable, System::Collections::IEnumerable, System::Data::IDataReader
public sealed class OdbcDataReader : System.Data.Common.DbDataReader
public sealed class OdbcDataReader : MarshalByRefObject, IDisposable, System.Collections.IEnumerable, System.Data.IDataReader
type OdbcDataReader = class
    inherit DbDataReader
type OdbcDataReader = class
    inherit MarshalByRefObject
    interface IDataReader
    interface IDataRecord
    interface IDisposable
    interface IEnumerable
Public NotInheritable Class OdbcDataReader
Inherits DbDataReader
Public NotInheritable Class OdbcDataReader
Inherits MarshalByRefObject
Implements IDataReader, IDisposable, IEnumerable
Наследование
Наследование
OdbcDataReader
Реализации

Примеры

В следующем примере создается OdbcConnection, OdbcCommandи OdbcDataReader. Пример считывает данные, записывая его в консоль. Наконец, в примере закрывается OdbcDataReader, а затем OdbcConnection.

public static void ReadData(string connectionString)
{
    string queryString = "SELECT DISTINCT CustomerID FROM Orders";

    using (OdbcConnection connection = new OdbcConnection(connectionString))
    {
        OdbcCommand command = new OdbcCommand(queryString, connection);

        connection.Open();

        // Execute the DataReader and access the data.
        OdbcDataReader reader = command.ExecuteReader();
        while (reader.Read())
        {
            Console.WriteLine("CustomerID={0}", reader[0]);
        }

        // Call Close when done reading.
        reader.Close();
    }
}
Public Sub ReadData(ByVal connectionString As String)
    Dim queryString As String = "SELECT DISTINCT CustomerID FROM Orders"

    Using connection As New OdbcConnection(connectionString)
        Dim command As New OdbcCommand(queryString, connection)

        connection.Open()

        Dim reader As OdbcDataReader = command.ExecuteReader()

        While reader.Read()
            Console.WriteLine("CustomerID={0}", reader(0).ToString)
        End While

        ' Call Close when done reading.
        reader.Close()
    End Using
End Sub

Комментарии

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

Хотя используется OdbcDataReader, связанная OdbcConnection занята обслуживанием OdbcDataReader, и никакие другие операции не могут выполняться на OdbcConnection, кроме закрытия. Это происходит до вызова метода CloseOdbcDataReader. Например, вы не сможете получить выходные параметры до тех пор, пока не вызовете Close.

Изменения, внесенные в результирующий набор другим процессом или потоком во время чтения данных, могут отображаться пользователю OdbcDataReader. Однако точное поведение зависит от драйвера и времени.

IsClosed и RecordsAffected являются единственными свойствами, которые можно вызывать после закрытия OdbcDataReader. Иногда необходимо вызывать Close перед вызовом RecordsAffected.

Свойства

Depth

Возвращает значение, указывающее глубину вложения текущей строки.

FieldCount

Возвращает количество столбцов в текущей строке.

HasRows

Возвращает значение, указывающее, содержит ли OdbcDataReader одну или несколько строк.

IsClosed

Указывает, закрыт ли OdbcDataReader.

Item[Int32]

Возвращает значение указанного столбца в собственном формате, учитывая порядковый номер столбца.

Item[String]

Возвращает значение указанного столбца в собственном формате с именем столбца.

RecordsAffected

Возвращает количество строк, измененных, вставленных или удаленных при выполнении инструкции SQL.

VisibleFieldCount

Возвращает количество полей в DbDataReader, которые не скрыты.

(Унаследовано от DbDataReader)

Методы

Close()

Закрывает объект OdbcDataReader.

CloseAsync()

Асинхронно закрывает объект DbDataReader.

(Унаследовано от DbDataReader)
CreateObjRef(Type)

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

(Унаследовано от MarshalByRefObject)
Dispose()

Освобождает все ресурсы, используемые текущим экземпляром класса DbDataReader.

(Унаследовано от DbDataReader)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые DbDataReader, и при необходимости освобождает управляемые ресурсы.

(Унаследовано от DbDataReader)
DisposeAsync()

Асинхронно освобождает все ресурсы, используемые текущим экземпляром класса DbDataReader.

(Унаследовано от DbDataReader)
Equals(Object)

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

(Унаследовано от Object)
Finalize()

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

GetBoolean(Int32)

Возвращает значение указанного столбца как логическое значение.

GetByte(Int32)

Возвращает значение указанного столбца в виде байта.

GetBytes(Int32, Int64, Byte[], Int32, Int32)

Считывает поток байтов из указанного смещения столбца в буфер в виде массива, начиная с определенного смещения буфера.

GetChar(Int32)

Возвращает значение указанного столбца в виде символа.

GetChars(Int32, Int64, Char[], Int32, Int32)

Считывает поток символов из указанного смещения столбца в буфер в виде массива, начиная с определенного смещения буфера.

GetColumnSchemaAsync(CancellationToken)

Это асинхронная версия GetColumnSchema(DbDataReader). Поставщики должны переопределить соответствующую реализацию. cancellationToken можно при необходимости учитывать. Реализация по умолчанию вызывает синхронный вызов GetColumnSchema(DbDataReader) и возвращает завершенную задачу. Реализация по умолчанию возвращает отмененную задачу при передаче уже отмененной cancellationToken. Исключения, создаваемые GetColumnSchema(DbDataReader), будут передаваться через возвращаемое свойство "Исключение задачи".

(Унаследовано от DbDataReader)
GetData(Int32)

Возвращает IDataReader для указанного порядкового номера столбца.

GetData(Int32)

Возвращает вложенное средство чтения данных для запрошенного столбца.

(Унаследовано от DbDataReader)
GetDataTypeName(Int32)

Возвращает имя исходного типа данных.

GetDate(Int32)

Возвращает значение указанного столбца в качестве объекта DateTime.

GetDateTime(Int32)

Возвращает значение указанного столбца в качестве объекта DateTime.

GetDbDataReader(Int32)

Возвращает объект DbDataReader для запрошенного порядкового номера столбца, который можно переопределить с помощью реализации для конкретного поставщика.

(Унаследовано от DbDataReader)
GetDecimal(Int32)

Возвращает значение указанного столбца в качестве объекта Decimal.

GetDouble(Int32)

Возвращает значение указанного столбца в виде числа с плавающей запятой двойной точности.

GetEnumerator()

Возвращает IEnumerator, который можно использовать для итерации строк в средстве чтения данных.

GetFieldType(Int32)

Возвращает Type, который является типом данных объекта.

GetFieldValue<T>(Int32)

Возвращает значение указанного столбца в качестве запрошенного типа.

(Унаследовано от DbDataReader)
GetFieldValueAsync<T>(Int32)

Асинхронно получает значение указанного столбца в качестве запрошенного типа.

(Унаследовано от DbDataReader)
GetFieldValueAsync<T>(Int32, CancellationToken)

Асинхронно получает значение указанного столбца в качестве запрошенного типа.

(Унаследовано от DbDataReader)
GetFloat(Int32)

Возвращает значение указанного столбца в виде числа с плавающей запятой с одной точностью.

GetGuid(Int32)

Возвращает значение указанного столбца в качестве глобально уникального идентификатора (GUID).

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetInt16(Int32)

Возвращает значение указанного столбца в виде 16-разрядного целого числа со знаком.

GetInt32(Int32)

Возвращает значение указанного столбца в виде 32-разрядного целого числа со знаком.

GetInt64(Int32)

Возвращает значение указанного столбца в виде 64-разрядного целого числа со знаком.

GetLifetimeService()
Устаревшие..

Извлекает текущий объект службы времени существования, который управляет политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
GetName(Int32)

Возвращает имя указанного столбца.

GetOrdinal(String)

Получает порядковый номер столбца с именем столбца.

GetProviderSpecificFieldType(Int32)

Возвращает тип конкретного поставщика указанного столбца.

(Унаследовано от DbDataReader)
GetProviderSpecificValue(Int32)

Возвращает значение указанного столбца в качестве экземпляра конкретного типа поставщика.

(Унаследовано от DbDataReader)
GetProviderSpecificValues(Object[])

Возвращает все столбцы атрибутов для конкретного поставщика в коллекции для текущей строки.

(Унаследовано от DbDataReader)
GetSchemaTable()

Возвращает DataTable, описывающий метаданные столбца OdbcDataReader.

GetSchemaTableAsync(CancellationToken)

Это асинхронная версия GetSchemaTable(). Поставщики должны переопределить соответствующую реализацию. cancellationToken можно при необходимости учитывать. Реализация по умолчанию вызывает синхронный вызов GetSchemaTable() и возвращает завершенную задачу. Реализация по умолчанию возвращает отмененную задачу при передаче уже отмененной cancellationToken. Исключения, создаваемые GetSchemaTable(), будут передаваться через возвращаемое свойство "Исключение задачи".

(Унаследовано от DbDataReader)
GetStream(Int32)

Получает поток для получения данных из указанного столбца.

(Унаследовано от DbDataReader)
GetString(Int32)

Возвращает значение указанного столбца в виде String.

GetTextReader(Int32)

Получает средство чтения текста для получения данных из столбца.

(Унаследовано от DbDataReader)
GetTime(Int32)

Возвращает значение указанного столбца в качестве объекта TimeSpan.

GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
GetValue(Int32)

Возвращает значение столбца в указанном порядковом номере в собственном формате.

GetValues(Object[])

Заполняет массив объектов значениями столбцов текущей строки.

InitializeLifetimeService()
Устаревшие..

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
IsDBNull(Int32)

Возвращает значение, указывающее, содержит ли столбец несуществующие или отсутствующие значения.

IsDBNullAsync(Int32)

Асинхронно получает значение, указывающее, содержит ли столбец отсутствующие или отсутствующие значения.

(Унаследовано от DbDataReader)
IsDBNullAsync(Int32, CancellationToken)

Асинхронно получает значение, указывающее, содержит ли столбец отсутствующие или отсутствующие значения.

(Унаследовано от DbDataReader)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)

Создает неглубокую копию текущего объекта MarshalByRefObject.

(Унаследовано от MarshalByRefObject)
NextResult()

Перемещает OdbcDataReader к следующему результату при чтении результатов инструкций пакетного SQL.

NextResultAsync()

Асинхронно перемещает средство чтения к следующему результату при чтении результатов пакета инструкций.

(Унаследовано от DbDataReader)
NextResultAsync(CancellationToken)

Асинхронно перемещает средство чтения к следующему результату при чтении результатов пакета инструкций.

(Унаследовано от DbDataReader)
Read()

Перемещает OdbcDataReader к следующей записи.

ReadAsync()

Асинхронно перемещает средство чтения к следующей записи в результирующем наборе.

(Унаследовано от DbDataReader)
ReadAsync(CancellationToken)

Асинхронно перемещает средство чтения к следующей записи в результирующем наборе.

(Унаследовано от DbDataReader)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

IDataRecord.GetData(Int32)

Описание этого элемента см. в разделе GetData(Int32).

(Унаследовано от DbDataReader)
IDisposable.Dispose()

Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода.

Освобождает все ресурсы, используемые текущим экземпляром класса OdbcDataReader.

IEnumerable.GetEnumerator()

Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода.

Возвращает перечислитель, который выполняет итерацию по коллекции.

Методы расширения

CanGetColumnSchema(DbDataReader)

Возвращает значение, указывающее, может ли DbDataReader получить схему столбца.

GetColumnSchema(DbDataReader)

Получает схему столбцов (коллекциюDbColumn) для DbDataReader.

GetBoolean(DbDataReader, String)

Возвращает значение указанного столбца как логическое значение.

GetByte(DbDataReader, String)

Возвращает значение указанного столбца в виде байта.

GetBytes(DbDataReader, String, Int64, Byte[], Int32, Int32)

Считывает указанное число байтов из указанного столбца, начиная с указанного индекса, и записывает их в буфер, начиная с указанной позиции в буфере.

GetChar(DbDataReader, String)

Возвращает значение указанного столбца в виде одного символа.

GetChars(DbDataReader, String, Int64, Char[], Int32, Int32)

Считывает указанное число символов из указанного столбца, начиная с указанного индекса, и записывает их в буфер, начиная с указанной позиции.

GetData(DbDataReader, String)

Возвращает вложенное средство чтения данных для запрошенного столбца.

GetDataTypeName(DbDataReader, String)

Возвращает имя типа данных указанного столбца.

GetDateTime(DbDataReader, String)

Возвращает значение указанного столбца в качестве объекта DateTime.

GetDecimal(DbDataReader, String)

Возвращает значение указанного столбца в виде Decimal.

GetDouble(DbDataReader, String)

Возвращает значение указанного столбца в виде числа с плавающей запятой двойной точности.

GetFieldType(DbDataReader, String)

Возвращает тип данных указанного столбца.

GetFieldValue<T>(DbDataReader, String)

Возвращает значение указанного столбца в качестве запрошенного типа.

GetFieldValueAsync<T>(DbDataReader, String, CancellationToken)

Асинхронно получает значение указанного столбца в качестве запрошенного типа.

GetFloat(DbDataReader, String)

Возвращает значение указанного столбца в виде числа с плавающей запятой с одной точностью.

GetGuid(DbDataReader, String)

Возвращает значение указанного столбца в качестве глобально уникального идентификатора (GUID).

GetInt16(DbDataReader, String)

Возвращает значение указанного столбца в виде 16-разрядного целого числа со знаком.

GetInt32(DbDataReader, String)

Возвращает значение указанного столбца в виде 32-разрядного целого числа со знаком.

GetInt64(DbDataReader, String)

Возвращает значение указанного столбца в виде 64-разрядного целого числа со знаком.

GetProviderSpecificFieldType(DbDataReader, String)

Возвращает тип конкретного поставщика указанного столбца.

GetProviderSpecificValue(DbDataReader, String)

Возвращает значение указанного столбца в качестве экземпляра конкретного типа поставщика.

GetStream(DbDataReader, String)

Получает поток для получения данных из указанного столбца.

GetString(DbDataReader, String)

Возвращает значение указанного столбца в качестве экземпляра String.

GetTextReader(DbDataReader, String)

Получает средство чтения текста для получения данных из столбца.

GetValue(DbDataReader, String)

Возвращает значение указанного столбца в качестве экземпляра Object.

IsDBNull(DbDataReader, String)

Возвращает значение, указывающее, содержит ли столбец несуществующие или отсутствующие значения.

IsDBNullAsync(DbDataReader, String, CancellationToken)

Асинхронно получает значение, указывающее, содержит ли столбец отсутствующие или отсутствующие значения.

Cast<TResult>(IEnumerable)

Приведение элементов IEnumerable к указанному типу.

OfType<TResult>(IEnumerable)

Фильтрует элементы IEnumerable на основе указанного типа.

AsParallel(IEnumerable)

Включает параллелизацию запроса.

AsQueryable(IEnumerable)

Преобразует IEnumerable в IQueryable.

ConfigureAwait(IAsyncDisposable, Boolean)

Настраивает способ ожидания задач, возвращаемых из асинхронного удаления.

Применяется к

См. также раздел