SqlDataReader.GetStream(Int32) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
擷取二進位、影像、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* 方法,因為在讀取資料流時可能會呼叫它們。
嘗試讀取不存在的資料行。
備註
ReadTimeout預設為的值CommandTimeout,但您可以透過 GetStream修改 ReadTimeout 。
Null 值會以空的 (零個字節傳回,) Stream。
GetBytes會在 作用中時,於所GetStream傳回的物件上使用時SequentialAccess引發InvalidOperationException例外狀況。
SqlException 引發 Stream 的例外狀況會擲回為 IOException 例外狀況;請檢查 的內部例外狀況 SqlException。
Stream下列成員不適用於 所GetStream傳回的物件:
BeginWrite
EndWrite
長度
位置
Seek
SetLength
寫入
WriteByte
WriteTimeout
當連接屬性 ContextConnection=true
時, GetStream 僅支援循序 () 和非循序 SequentialAccess (Default) 存取的同步數據擷取。
如需詳細資訊,請參閱 SqlClient 串流支援。