DbDataReader.GetFieldValueAsync Metod

Definition

Asynkront hämtar värdet för den angivna kolumnen som den begärda typen.

Överlagringar

Name Description
GetFieldValueAsync<T>(Int32)

Asynkront hämtar värdet för den angivna kolumnen som den begärda typen.

GetFieldValueAsync<T>(Int32, CancellationToken)

Asynkront hämtar värdet för den angivna kolumnen som den begärda typen.

GetFieldValueAsync<T>(Int32)

Asynkront hämtar värdet för den angivna kolumnen som den begärda typen.

public:
generic <typename T>
 System::Threading::Tasks::Task<T> ^ GetFieldValueAsync(int ordinal);
public System.Threading.Tasks.Task<T> GetFieldValueAsync<T>(int ordinal);
member this.GetFieldValueAsync : int -> System.Threading.Tasks.Task<'T>
Public Function GetFieldValueAsync(Of T) (ordinal As Integer) As Task(Of T)

Typparametrar

T

Typ av värde som ska returneras.

Parametrar

ordinal
Int32

Den nollbaserade kolumnordningen.

Returer

Task<T>

En uppgift vars Result innehåller värdet för den angivna kolumnen.

Undantag

Anslutningen togs bort eller stängdes under datahämtningen.

-eller-

Dataläsaren stängdes under datahämtningen.

-eller-

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

-eller-

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

-eller-

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 ström.

Kolumnindexet ligger inte inom intervallet.

Värdet som returneras av databasen matchar inte eller kan inte gjutas till T.

Kommentarer

Den här asynkrona metoden behövs bara för att undvika att blockera den anropande tråden när läsaren skapas i sekventiellt läge.

Om sekventiellt läge inte har angetts bör alla kolumnvärden bli tillgängliga i minnet varje gång ReadAsync slutförs, och att anropa den synkrona versionen av metoden bör inte blockera den anropande tråden.

Standardimplementeringen av den här asynkrona metoden anropar dess synkrona motsvarighet och returnerar en slutförd uppgift som potentiellt blockerar den anropande tråden.

Dataprovidrar som stöder asynkron programmering bör åsidosätta standardimplementeringen med hjälp av asynkrona I/O-åtgärder.

Andra metoder och egenskaper för DbDataReader-objektet bör inte anropas medan den returnerade aktiviteten ännu inte har slutförts.

Gäller för

GetFieldValueAsync<T>(Int32, CancellationToken)

Asynkront hämtar värdet för den angivna kolumnen som den begärda typen.

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

Typparametrar

T

Typ av värde som ska returneras.

Parametrar

ordinal
Int32

Den nollbaserade kolumnordningen.

cancellationToken
CancellationToken

En token för att avbryta den asynkrona åtgärden.

Returer

Task<T>

En uppgift vars Result innehåller värdet för den angivna kolumnen.

Undantag

Anslutningen togs bort eller stängdes under datahämtningen.

-eller-

Dataläsaren stängdes under datahämtningen.

-eller-

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

-eller-

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

-eller-

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 ström.

Kolumnindexet ligger inte inom intervallet.

Värdet som returneras av databasen matchar inte eller kan inte gjutas till T.

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

Kommentarer

Den här asynkrona metoden behövs bara för att undvika att blockera den anropande tråden när läsaren skapas i sekventiellt läge.

Om sekventiellt läge inte har angetts bör alla kolumnvärden bli tillgängliga i minnet varje gång ReadAsync slutförs, och att anropa den synkrona versionen av metoden bör inte blockera den anropande tråden.

Standardimplementeringen av den här asynkrona metoden anropar dess synkrona motsvarighet och returnerar en slutförd uppgift som potentiellt blockerar den anropande tråden. Standardimplementeringen returnerar också en avbruten aktivitet om den skickas en redan avbruten annulleringstoken.

Dataprovidrar som stöder asynkron programmering bör åsidosätta standardimplementeringen med hjälp av asynkrona I/O-åtgärder.

Den här metoden accepterar en annulleringstoken som kan användas för att begära att åtgärden avbryts tidigt. Implementeringar kan ignorera den här begäran.

Andra metoder och egenskaper för DbDataReader-objektet bör inte anropas medan den returnerade aktiviteten ännu inte har slutförts.

Gäller för