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


SqlDataReader.GetStream(Int32) Метод

Определение

Извлекает типы данных binary, image, varbinary, UDT и variant как Stream.

public:
 override System::IO::Stream ^ GetStream(int i);
public override System.IO.Stream GetStream (int i);
override this.GetStream : int -> System.IO.Stream
Public Overrides Function GetStream (i As Integer) As Stream

Параметры

i
Int32

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

Возвращаемое значение

Объект потока.

Исключения

Соединение разъединяется или закрывается во время извлечения данных.

Объект SqlDataReader закрыт во время извлечения данных.

Не существует данных, готовых для чтения (например, первый объект Read() не был вызван или вернул значение false).

Сделана попытка чтения ранее считанного столбца в последовательном режиме.

Выполнялась асинхронная операция. Относится ко всем методам Get* при работе в последовательном режиме, так как они могут вызываться при чтении потока.

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

Возвращаемый тип не был одним из указанных ниже типов:

  • binary

  • Изображение

  • varbinary

  • определяемый пользователем тип

Комментарии

ReadTimeout по умолчанию имеет значение CommandTimeout; но вы можете изменить с ReadTimeout помощью GetStream.

Значения NULL будут возвращены в виде пустого (ноль байтов) Stream.

GetBytes вызовет InvalidOperationException исключение при использовании для объекта, возвращаемого GetStream , когда SequentialAccess действует .

SqlException исключения, создаваемые из Stream , создаются как IOException исключения; проверьте внутреннее SqlExceptionисключение для .

Следующие Stream члены недоступны для объектов, возвращаемых :GetStream

  • BeginWrite

  • Endwrite

  • Длина

  • Положение

  • Seek

  • SetLength

  • запись

  • WriteByte

  • WriteTimeout

Дополнительные сведения см. в разделе Поддержка потоковой передачи SqlClient.

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