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

取得する列。

戻り値

返されたオブジェクト。

例外

データの取得中、接続は破棄されるか、または閉じられます。

SqlDataReader は、データの取得時に閉じます。

読み取ることのできるデータはありません (たとえば、最初の Read() は呼び出されなかったか、false を返しました)。

以前に読み取られた列をシーケンシャル モードで読み取ろうとしました。

非同期操作が進行中でした。 シーケンシャル モードで実行中、これはすべての Get* メソッドに適用されます。ストリームの読み取り中に呼び出すことができるためです。

存在しない列を読み取ろうとしています。

返された型は、次のどの型でもありませんでした。

  • char

  • nchar

  • ntext

  • nvarchar

  • text

  • varchar

注釈

SqlExceptionからTextReader発生した例外は例外としてIOExceptionスローされます。の内部例外をチェックしますSqlException

Null 値は、空の (0 バイト) TextReaderとして返されます。

GetCharsが有効な InvalidOperationException 場合に によってGetTextReaderSequentialAccess返されるオブジェクトで使用すると、例外が発生します。

接続プロパティ ContextConnection=trueGetTextReader の場合、 では、シーケンシャル () アクセスと非シーケンシャル (SequentialAccess) アクセスの両方に対してのみ同期データ取得がDefaultサポートされます。

詳細については、「 SqlClient ストリーミング サポート」を参照してください。

適用対象