SqlDataReader.GetTextReader(Int32) 方法

定義

擷取 Char、NChar、 NText、 NVarChar、 文字、 varChar 及 Variant 資料型別做為TextReader

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

參數

i
Int32

要擷取的資料行。

傳回

TextReader

已傳回的物件。

例外狀況

在資料擷取期間,連線中斷或關閉。

SqlDataReader在資料擷取期間已關閉。

沒有可供讀取的資料 (例如,第一個 Read() 沒有被呼叫,或傳回 false)。

嘗試在循序模式下讀取先前讀取的資料行。

有進行中的非同步作業。 當在循序模式中執行時,此適用於所有 Get* 方法,因為在讀取資料流時可能會呼叫它們。

嘗試讀取不存在的資料行。

傳回的型別不是下列型別:

  • 字元

  • Nchar

  • ntext

  • Nvarchar

  • text

  • varchar

備註

SqlException 引發 TextReader 的例外狀況會擲回為 IOException 例外狀況;請檢查 的內部例外狀況 SqlException

Null 值會以空的 (零個位元組傳回,) TextReader

GetChars會在 作用中時,于 所 GetTextReader 傳回的物件上使用時 SequentialAccess 引發 InvalidOperationException 例外狀況。

當連接屬性 ContextConnection=true 時, GetTextReader 僅支援循序 () 和非循序 SequentialAccess (Default) 存取的同步資料擷取。

如需詳細資訊,請參閱 SqlClient 串流支援

適用於