共用方式為


SqlDataReader.GetXmlReader(Int32) 方法

定義

擷取 XML 型別的資料做為XmlReader

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。

備註

XmlReaderGetXmlReader 傳回的物件不支援非同步作業。 如果您需要 上的 XmlReader 非同步作業,請將 XML 資料行轉換成伺服器上的 NVARCHAR (MAX) ,並使用 GetTextReaderCreate

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

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

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

適用於