SqlDataReader.GetXmlReader(Int32) メソッド

定義

XmlReaderとして XML 型のデータを取得します。

public:
 virtual System::Xml::XmlReader ^ GetXmlReader(int i);
public virtual System.Xml.XmlReader GetXmlReader (int i);
abstract member GetXmlReader : int -> System.Xml.XmlReader
override this.GetXmlReader : int -> System.Xml.XmlReader
Public Overridable Function GetXmlReader (i As Integer) As XmlReader

パラメーター

i
Int32

指定された列の値。

戻り値

返されたオブジェクト。

例外

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

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

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

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

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

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

返される型は xml ではありませんでした。

注釈

によってGetXmlReader返される オブジェクトはXmlReader、非同期操作をサポートしていません。 に対する非同期操作が必要なXmlReader場合は、XML 列をサーバー上の NVARCHAR(MAX) にキャストし、 と共Createに を使用GetTextReaderします。

SqlException から XmlReader 発生した例外は例外として XmlException スローされます。内部例外で を確認します SqlException

GetChars は、 InvalidOperationException が有効な場合に によって GetXmlReader 返されるオブジェクトで使用された場合 SequentialAccess に例外を発生させます。

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

適用対象