Freigeben über


SqlDataReader.GetXmlReader(Int32) Methode

Definition

Ruft Daten vom Typ XML als XmlReader ab.

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

Parameter

i
Int32

Der Wert der angegebenen Spalte.

Gibt zurück

Das zurückgegebene Objekt.

Ausnahmen

Die Verbindung wird während des Datenabrufs getrennt oder geschlossen.

Der SqlDataReader wird während des Datenabrufs geschlossen.

Es gibt keine Daten, die gelesen werden können (der erste Aufruf von Read() hat z. B. nicht stattgefunden oder "false" zurückgegeben).

Es wird versucht, eine zuvor gelesene Spalte im sequenziellen Modus zu lesen.

Es gab einen aktiven asynchronen Vorgang. Dies gilt für alle Get*-Methoden bei der Ausführung im sequenziellen Modus, da sie aufgerufen werden können, während des Lesens eines Datenstroms.

Es wurde versucht, eine Spalte zu lesen, die nicht vorhanden ist.

Der zurückgegebene Typ war nicht XML.

Hinweise

Das XmlReader von GetXmlReader zurückgegebene Objekt unterstützt keine asynchronen Vorgänge. Wenn Sie asynchrone Vorgänge für einen XmlReaderbenötigen, wandeln Sie die XML-Spalte in eine NVARCHAR(MAX) auf dem Server um, und verwenden Sie GetTextReader mit Create.

SqlExceptionAusnahmen, die von XmlReader ausgelöst werden, werden als XmlException Ausnahmen ausgelöst. Überprüfen Sie die innere Ausnahme für .SqlException

GetChars löst eine Ausnahme aus InvalidOperationException , wenn sie für ein Objekt verwendet wird, das von GetXmlReader zurückgegeben wird, wenn SequentialAccess es wirksam ist.

Weitere Informationen finden Sie unter SqlClient-Streamingunterstützung.

Gilt für: