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

Definition

Asynkront hämtar värdet för den angivna kolumnen som en typ. GetFieldValue<T>(Int32) är den synkrona versionen av den här metoden.

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)

Typparametrar

T

Typ av värde som ska returneras.

Parametrar

i
Int32

Kolumnen som ska hämtas.

cancellationToken
CancellationToken

Instruktionen för annullering, som sprider ett meddelande om att åtgärder ska avbrytas. Detta garanterar inte annulleringen. En inställning för CancellationToken.None gör att den här metoden motsvarar IsDBNull(Int32). Den returnerade aktiviteten måste markeras som avbruten.

Returer

Task<T>

Det returnerade typobjektet.

Undantag

Anslutningen avbryts eller stängs under datahämtningen.

SqlDataReader Stängs under datahämtningen.

Det finns inga data som är redo att läsas (till exempel har den första Read() inte anropats eller returnerats falskt).

Försökte läsa en tidigare läst kolumn i sekventiellt läge.

En asynkron åtgärd pågick. Detta gäller för alla Get*-metoder när de körs i sekventiellt läge, eftersom de kan anropas när du läser en dataström.

Context Connection=true anges i reťazec pripojenia.

Försöker läsa en kolumn som inte finns.

Värdet för kolumnen var null (IsDBNull(Int32) == true), vilket hämtar en icke-SQL-typ.

T matchar inte typen som returneras av SQL Server eller kan inte gjutas.

Annulleringstoken avbröts. Det här undantaget lagras i den returnerade aktiviteten.

Kommentarer

T kan vara någon av följande typer:

Boolesk, Byte, Char, DateTime, DateTimeOffset, Decimal, Double, Float, Guid, Int16, Int32, Int64, SqlBoolean, SqlByte, SqlDateTime, SqlDecimal, SqlDouble, SqlGuid, SqlInt16, SqlInt32, SqlInt64, SqlMoney, SqlSingle, SqlString, String eller UDT (alla CLR-typer markerade med SqlUserDefinedTypeAttribute).

Mer information finns i Stöd för SqlClient-strömning.

Gäller för