SqlDataReader.GetStream(Int32) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
检索作为 Stream 的二进制、图像、varbinary、UDT 和变量数据类型。
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() 未被调用或返回错误)。
按顺序模式尝试读取上一步骤中读取的列。
没有正在进行的异步操作。 以顺序模式运行时,这适用于所有 Get* 方法,读取流时也可对其进行调用。
尝试读取不存在的列。
注解
ReadTimeout默认为 的值CommandTimeout;但可以通过 进行修改ReadTimeoutGetStream。
null 值将作为空 (零字节) Stream返回。
GetBytes当 对由 返回GetStream的对象使用时SequentialAccess,将引发异常InvalidOperationException。
SqlException从 Stream 引发的异常作为IOException异常引发;检查 的内部SqlException异常。
以下 Stream 成员不适用于 返回 GetStream的对象:
BeginWrite
EndWrite
长度
位置
Seek
SetLength
写入
WriteByte
WriteTimeout
当连接属性 ContextConnection=true
为 时, GetStream 仅支持对顺序 (SequentialAccess) 和非顺序 (Default) 访问进行同步数据检索。
有关详细信息,请参阅 SqlClient 流式处理支持。