SqlDataReader.GetFieldValueAsync<T>(Int32, CancellationToken) Methode

Definition

Ruft den Wert der angegebenen Spalte asynchron als ein Typ ab.Asynchronously gets the value of the specified column as a type. GetFieldValue<T>(Int32) ist die synchrone Version dieser Methode.GetFieldValue<T>(Int32) is the synchronous version of this method.

public:
generic <typename T>
 override System::Threading::Tasks::Task<T> ^ GetFieldValueAsync(int i, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<T> GetFieldValueAsync<T> (int i, System.Threading.CancellationToken cancellationToken);
override this.GetFieldValueAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
Public Overrides Function GetFieldValueAsync(Of T) (i As Integer, cancellationToken As CancellationToken) As Task(Of T)

Typparameter

T

Der Typ des zurückzugebenden Werts.The type of the value to be returned.

Parameter

i
Int32

Die Spalte die abgerufen werden soll.The column to be retrieved.

cancellationToken
CancellationToken

Die Abbruch-Anweisung, die eine Benachrichtigung verteilt, dass Vorgänge abgebrochen werden sollen.The cancellation instruction, which propagates a notification that operations should be canceled. Dies garantiert keinen Abbruch.This does not guarantee the cancellation. Die Einstellung CancellationToken.None macht diese Methode äquivalent zu IsDBNull(Int32).A setting of CancellationToken.None makes this method equivalent to IsDBNull(Int32). Die zurückgegebene Aufgabe muss als abgebrochen gekennzeichnet werden.The returned task must be marked as cancelled.

Gibt zurück

Task<T>

Das zurückgegebene Typ-Objekts.The returned type object.

Ausnahmen

Die Verbindung wird während des Datenabrufs getrennt oder geschlossen.The connection drops or is closed during the data retrieval.

Der SqlDataReader wird während des Datenabrufs geschlossen.The SqlDataReader is closed during the data retrieval.

Es gibt keine Daten, die gelesen werden können (der erste Aufruf von Read() hat z. B. nicht stattgefunden oder "false" zurückgegeben).There is no data ready to be read (for example, the first Read() hasn't been called, or returned false).

Es wurde versucht, eine zuvor gelesene Spalte im sequenziellen Modus zu lesen.Tried to read a previously-read column in sequential mode.

Es gab einen aktiven asynchronen Vorgang.There was an asynchronous operation in progress. 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.This applies to all Get* methods when running in sequential mode, as they could be called while reading a stream.

Context Connection=true ist in der Verbindungszeichenfolge angegeben.Context Connection=true is specified in the connection string.

Es wurde versucht, eine Spalte zu lesen, die nicht vorhanden ist.Trying to read a column that does not exist.

Der Wert der Spalte ist NULL (IsDBNull(Int32) == true) und ruft einen Nicht-SQL-Typ ab.The value of the column was null (IsDBNull(Int32) == true), retrieving a non-SQL type.

T entspricht nicht dem Typ, der von SQL Server zurückgegeben wird, oder kann nicht konvertiert werden.T doesn't match the type returned by SQL Server or cannot be cast.

Hinweise

T Dabei kann es sich um eine der folgenden Typen sein:T can be one of the following types:

BooleanBoolean ByteByte CharChar DatetimeDateTime
DateTimeOffsetDateTimeOffset DecimalDecimal DoubleDouble FloatFloat
GuidGuid Int16Int16 Int32Int32 Int64Int64
SqlBooleanSqlBoolean SqlByteSqlByte SqlDateTimeSqlDateTime SqlDecimalSqlDecimal
SqlDoubleSqlDouble SqlGuidSqlGuid SqlInt16SqlInt16 SqlInt32SqlInt32
SqlInt64SqlInt64 SqlMoneySqlMoney SqlSingleSqlSingle SqlStringSqlString
StringString UDT, bei dem es sich um jeden mit markierten CLR-Typ handeln kann SqlUserDefinedTypeAttribute .UDT, which can be any CLR type marked with SqlUserDefinedTypeAttribute.

Weitere Informationen finden Sie unter SqlClient-Streamingunterstützung.For more information, see SqlClient Streaming Support.

Gilt für: