DbDataReader.IsDBNullAsync Метод

Определение

Асинхронно получает значение, указывающее, содержит ли столбец несуществующие или пропущенные значения.

Перегрузки

IsDBNullAsync(Int32)

Асинхронно получает значение, указывающее, содержит ли столбец несуществующие или пропущенные значения.

IsDBNullAsync(Int32, CancellationToken)

Асинхронно получает значение, указывающее, содержит ли столбец несуществующие или пропущенные значения.

IsDBNullAsync(Int32)

Исходный код:
DbDataReader.cs
Исходный код:
DbDataReader.cs
Исходный код:
DbDataReader.cs

Асинхронно получает значение, указывающее, содержит ли столбец несуществующие или пропущенные значения.

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)

Параметры

ordinal
Int32

Извлекаемый столбец (отсчитываемый с нуля).

Возвращаемое значение

Объект Task<TResult>, свойство Result которого равно true, если указанное значение столбца эквивалентно значению DBNull, или false в противном случае.

Исключения

Соединение было удалено или закрыто во время получения данных.

-или-

Модуль чтения данных закрыт во время получения данных.

-или-

Не существует данных, готовых для чтения (например, первый объект Read() не был вызван или вернул значение false).

-или-

Попытка чтения ранее считанного столбца в последовательном режиме.

-или-

Выполнялась асинхронная операция. Относится ко всем методам Get* при работе в последовательном режиме, так как они могут вызываться при чтении потока.

Индекс столбца находится за пределами диапазона.

Комментарии

Этот асинхронный метод необходим только для того, чтобы избежать блокировки вызывающего потока при создании средства чтения в последовательном режиме.

Если последовательный режим не указан, все значения столбцов должны быть доступны в памяти при каждом завершении ReadAsync, а вызов синхронной версии метода не должен блокировать вызывающий поток.

Реализация этого асинхронного метода по умолчанию вызывает его синхронный аналог и возвращает завершенную задачу, потенциально блокируя вызывающий поток.

Поставщики данных, поддерживающие асинхронное программирование , должны переопределить реализацию по умолчанию с помощью асинхронных операций ввода-вывода.

Другие методы и свойства объекта DbDataReader не должны вызываться, когда возвращаемая задача еще не завершена.

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые IsDBNull(Int32).

Применяется к

IsDBNullAsync(Int32, CancellationToken)

Исходный код:
DbDataReader.cs
Исходный код:
DbDataReader.cs
Исходный код:
DbDataReader.cs

Асинхронно получает значение, указывающее, содержит ли столбец несуществующие или пропущенные значения.

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)

Параметры

ordinal
Int32

Извлекаемый столбец (отсчитываемый с нуля).

cancellationToken
CancellationToken

Токен для отмены асинхронной операции.

Возвращаемое значение

Объект Task<TResult>, свойство Result которого равно true, если указанное значение столбца эквивалентно значению DBNull, или false в противном случае.

Исключения

Соединение было удалено или закрыто во время получения данных.

-или-

Модуль чтения данных закрыт во время получения данных.

-или-

Не существует данных, готовых для чтения (например, первый объект Read() не был вызван или вернул значение false).

-или-

Попытка чтения ранее считанного столбца в последовательном режиме.

-или-

Выполнялась асинхронная операция. Относится ко всем методам Get* при работе в последовательном режиме, так как они могут вызываться при чтении потока.

Индекс столбца находится за пределами диапазона.

Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.

Комментарии

Этот асинхронный метод необходим только для того, чтобы избежать блокировки вызывающего потока при создании средства чтения в последовательном режиме.

Если последовательный режим не указан, все значения столбцов должны быть доступны в памяти при каждом завершении ReadAsync, а вызов синхронной версии метода не должен блокировать вызывающий поток.

Реализация этого асинхронного метода по умолчанию вызывает его синхронный аналог и возвращает завершенную задачу, потенциально блокируя вызывающий поток. Реализация по умолчанию также возвращает отмененную задачу, если передан уже отмененный маркер отмены.

Поставщики данных, поддерживающие асинхронное программирование , должны переопределить реализацию по умолчанию с помощью асинхронных операций ввода-вывода.

Этот метод принимает токен отмены, который может использоваться для запроса ранней отмены операции. Реализации могут игнорировать данный запрос.

Другие методы и свойства объекта DbDataReader не должны вызываться, когда возвращаемая задача еще не завершена. Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые IsDBNull(Int32).

Применяется к