DbDataReader.IsDBNullAsync Método

Definição

Obtém de forma assíncrona um valor que indica se a coluna contém valores inexistentes ou ausentes.

Sobrecargas

Nome Description
IsDBNullAsync(Int32)

Obtém de forma assíncrona um valor que indica se a coluna contém valores inexistentes ou ausentes.

IsDBNullAsync(Int32, CancellationToken)

Obtém de forma assíncrona um valor que indica se a coluna contém valores inexistentes ou ausentes.

IsDBNullAsync(Int32)

Obtém de forma assíncrona um valor que indica se a coluna contém valores inexistentes ou ausentes.

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)

Parâmetros

ordinal
Int32

A coluna baseada em zero a ser recuperada.

Retornos

Uma Task<TResult> propriedade cuja Result propriedade será true se o valor da coluna especificado for equivalente a DBNull ou false se não for.

Exceções

A conexão foi descartada ou fechada durante a recuperação de dados.

-ou-

O leitor de dados é fechado durante a recuperação de dados.

-ou-

Não há dados prontos para serem lidos (por exemplo, o primeiro Read() não foi chamado ou retornado false).

-ou-

Tentando ler uma coluna de leitura anterior no modo sequencial.

-ou-

Havia uma operação assíncrona em andamento. Isso se aplica a todos os métodos Get* durante a execução no modo sequencial, pois eles podem ser chamados durante a leitura de um fluxo.

O índice de coluna está fora do intervalo.

Comentários

Esse método assíncrono só é necessário para evitar bloquear o thread de chamada quando o leitor é criado no modo sequencial.

Se o modo sequencial não for especificado, todos os valores de coluna deverão ficar disponíveis na memória sempre que ReadAsync for concluído e chamar a versão síncrona do método não deve bloquear o thread de chamada.

A implementação padrão desse método assíncrono invoca seu equivalente síncrono e retorna uma Tarefa concluída, potencialmente bloqueando o thread de chamada.

Os provedores de dados que dão suporte à programação assíncrona devem substituir a implementação padrão usando operações de E/S assíncronas.

Outros métodos e propriedades do objeto DbDataReader não devem ser invocados enquanto a Tarefa retornada ainda não estiver concluída.

Esse método armazena na tarefa que retorna todas as exceções de não uso que o equivalente síncrono do método pode gerar. Se uma exceção for armazenada na tarefa retornada, essa exceção será gerada quando a tarefa for aguardada. Exceções de uso, como ArgumentException, ainda são geradas de forma síncrona. Para as exceções armazenadas, consulte as exceções geradas por IsDBNull(Int32).

Aplica-se a

IsDBNullAsync(Int32, CancellationToken)

Obtém de forma assíncrona um valor que indica se a coluna contém valores inexistentes ou ausentes.

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)

Parâmetros

ordinal
Int32

A coluna baseada em zero a ser recuperada.

cancellationToken
CancellationToken

Um token para cancelar a operação assíncrona.

Retornos

Uma Task<TResult> propriedade cuja Result propriedade será true se o valor da coluna especificado for equivalente a DBNull ou false se não for.

Exceções

A conexão foi descartada ou fechada durante a recuperação de dados.

-ou-

O leitor de dados é fechado durante a recuperação de dados.

-ou-

Não há dados prontos para serem lidos (por exemplo, o primeiro Read() não foi chamado ou retornado false).

-ou-

Tentando ler uma coluna de leitura anterior no modo sequencial.

-ou-

Havia uma operação assíncrona em andamento. Isso se aplica a todos os métodos Get* durante a execução no modo sequencial, pois eles podem ser chamados durante a leitura de um fluxo.

O índice de coluna está fora do intervalo.

O token de cancelamento foi cancelado. Essa exceção é armazenada na tarefa retornada.

Comentários

Esse método assíncrono só é necessário para evitar bloquear o thread de chamada quando o leitor é criado no modo sequencial.

Se o modo sequencial não for especificado, todos os valores de coluna deverão ficar disponíveis na memória sempre que ReadAsync for concluído e chamar a versão síncrona do método não deve bloquear o thread de chamada.

A implementação padrão desse método assíncrono invoca seu equivalente síncrono e retorna uma Tarefa concluída, potencialmente bloqueando o thread de chamada. A implementação padrão também retorna uma tarefa cancelada se aprovada um token de cancelamento já cancelado.

Os provedores de dados que dão suporte à programação assíncrona devem substituir a implementação padrão usando operações de E/S assíncronas.

Esse método aceita um token de cancelamento que pode ser usado para solicitar que a operação seja cancelada antecipadamente. As implementações podem ignorar essa solicitação.

Outros métodos e propriedades do objeto DbDataReader não devem ser invocados enquanto a Tarefa retornada ainda não estiver concluída. Esse método armazena na tarefa que retorna todas as exceções de não uso que o equivalente síncrono do método pode gerar. Se uma exceção for armazenada na tarefa retornada, essa exceção será gerada quando a tarefa for aguardada. Exceções de uso, como ArgumentException, ainda são geradas de forma síncrona. Para as exceções armazenadas, consulte as exceções geradas por IsDBNull(Int32).

Aplica-se a