次の方法で共有


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 場合に によってGetXmlReaderSequentialAccess返されるオブジェクトで使用すると、例外が発生します。

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

適用対象