SqlDataReader.GetStream(Int32) 方法

定義

以 . 形式檢索二進位、影像、變異、UDT 及變體資料型別 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() 資料尚未被呼叫或回傳為假)。

嘗試用順序模式閱讀之前讀過的專欄。

當時正在進行一項非同步操作。 這適用於所有在序列模式下執行的 Get* 方法,因為在讀取串流時可以呼叫這些方法。

試著閱讀一篇不存在的專欄。

退回的型號並非以下以下型號之一:

  • 二進位
  • 圖片
  • varbinary
  • udt

備註

ReadTimeout預設值為 CommandTimeout;但你也可以透過 GetStream進行修改ReadTimeout

空值則會以空值(零位元組) Stream的形式回傳。

GetBytes當 在 生效時GetStreamSequentialAccess,會對回傳物件產生InvalidOperationException例外。

SqlExceptionStream 中產生的例外會作為例外拋 IOException 出;檢查內部例外是否為 SqlException

以下 Stream 成員無法用於由 返回的 GetStream物件:

  • BeginWrite

  • EndWrite

  • 長度

  • Position

  • 尋求

  • 設定長度

  • 書寫

  • WriteByte

  • WriteTimeout

當連接屬性 ContextConnection=true時, GetStream 僅支援同步資料檢索,適用於順序SequentialAccess()與非順序Default()存取。

欲了解更多資訊,請參閱 SqlClient 串流支援

適用於