DbDataReader.IsDBNullAsync Metod

Definition

Asynkront hämtar ett värde som anger om kolumnen innehåller obefintliga eller saknade värden.

Överlagringar

Name Description
IsDBNullAsync(Int32)

Asynkront hämtar ett värde som anger om kolumnen innehåller obefintliga eller saknade värden.

IsDBNullAsync(Int32, CancellationToken)

Asynkront hämtar ett värde som anger om kolumnen innehåller obefintliga eller saknade värden.

IsDBNullAsync(Int32)

Asynkront hämtar ett värde som anger om kolumnen innehåller obefintliga eller saknade värden.

public:
 System::Threading::Tasks::Task<bool> ^ IsDBNullAsync(int ordinal);
public System.Threading.Tasks.Task<bool> IsDBNullAsync(int ordinal);
member this.IsDBNullAsync : int -> System.Threading.Tasks.Task<bool>
Public Function IsDBNullAsync (ordinal As Integer) As Task(Of Boolean)

Parametrar

ordinal
Int32

Den nollbaserade kolumn som ska hämtas.

Returer

En Task<TResult> vars Result egenskap är true om det angivna kolumnvärdet är likvärdigt med DBNull eller false om det inte är det.

Undantag

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

-eller-

Dataläsaren stängs under datahämtningen.

-eller-

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

-eller-

Försöker 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 dataström.

Kolumnindexet ligger inte inom intervallet.

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.

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av IsDBNull(Int32).

Gäller för

IsDBNullAsync(Int32, CancellationToken)

Asynkront hämtar ett värde som anger om kolumnen innehåller obefintliga eller saknade värden.

public:
 virtual System::Threading::Tasks::Task<bool> ^ IsDBNullAsync(int ordinal, System::Threading::CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task<bool> IsDBNullAsync(int ordinal, System.Threading.CancellationToken cancellationToken);
abstract member IsDBNullAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
override this.IsDBNullAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
Public Overridable Function IsDBNullAsync (ordinal As Integer, cancellationToken As CancellationToken) As Task(Of Boolean)

Parametrar

ordinal
Int32

Den nollbaserade kolumn som ska hämtas.

cancellationToken
CancellationToken

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

Returer

En Task<TResult> vars Result egenskap är true om det angivna kolumnvärdet är likvärdigt med DBNull eller false om det inte är det.

Undantag

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

-eller-

Dataläsaren stängs under datahämtningen.

-eller-

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

-eller-

Försöker 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 dataström.

Kolumnindexet ligger inte inom intervallet.

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. Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av IsDBNull(Int32).

Gäller för