Freigeben über


SqlDataReader.GetFieldValue<T>(Int32) Methode

Definition

Ruft den Wert der angegebenen Spalte asynchron als ein Typ ab. GetFieldValueAsync<T>(Int32, CancellationToken) ist die asynchrone Version dieser Methode.

public:
generic <typename T>
 override T GetFieldValue(int i);
public override T GetFieldValue<T> (int i);
override this.GetFieldValue : int -> 'T
Public Overrides Function GetFieldValue(Of T) (i As Integer) As T

Typparameter

T

Der Typ des zurückzugebenden Werts.

Parameter

i
Int32

Die Spalte die abgerufen werden soll.

Gibt zurück

T

Das zurückgegebene Typ-Objekts.

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 wurde 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 Wert der Spalte ist NULL (IsDBNull(Int32) == true) und ruft einen Nicht-SQL-Typ ab.

T entspricht nicht dem Typ, der von SQL Server zurückgegeben wird, oder kann nicht konvertiert werden.

Hinweise

T Dabei kann es sich um eine der folgenden Typen sein:

Boolean Byte Char DateOnly (.NET 6 oder höher)
Datetime DateTimeOffset Decimal Double
Float Guid Int16 Int32
Int64 SqlBoolean SqlByte SqlDateTime
SqlDecimal SqlDouble SqlGuid SqlInt16
SqlInt32 SqlInt64 SqlMoney SqlSingle
SqlString STREAM String TextReader
TimeOnly (.NET 6 oder höher) XmlReader UDT, wobei es sich um einen beliebigen CLR-Typ handeln kann, der mit SqlUserDefinedTypeAttributegekennzeichnet ist.

Weitere Informationen finden Sie unter SqlClient-Streamingunterstützung.

Gilt für: