Поделиться через


SqlCommand.ExecuteScalarAsync(CancellationToken) Метод

Определение

Асинхронная версия ExecuteScalar() , которая выполняет запрос асинхронно и возвращает первый столбец первой строки в результирующем наборе, возвращаемом запросом. Такие же дополнительные столбцы также определены.

Токен отмены можно использовать для запроса отказа от операции до истечения времени ожидания команды. Сведения об исключениях передаются в возвращенном объекте Task.

public:
 override System::Threading::Tasks::Task<System::Object ^> ^ ExecuteScalarAsync(System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<object> ExecuteScalarAsync (System.Threading.CancellationToken cancellationToken);
override this.ExecuteScalarAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task<obj>
Public Overrides Function ExecuteScalarAsync (cancellationToken As CancellationToken) As Task(Of Object)

Параметры

cancellationToken
CancellationToken

Инструкция отмены.

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

Задача, представляющая асинхронную операцию.

Исключения

Недопустимое значение CommandBehavior.

Объект , отличный SqlDbType от Binary или VarBinary , использовался, если Value для параметра задано значение Stream . Дополнительные сведения о потоковой передаче см. в разделе Поддержка потоковой передачи SqlClient.

-или-

Значение , отличное SqlDbType от Char, NChar, NVarChar, VarChar или Xml , использовалось, если Value для параметра задано значение TextReader .

-или-

Объект , отличный SqlDbType от XML , использовался, если Value для параметра задано значение XmlReader .

Вызов ExecuteScalarAsync(CancellationToken) более одного раза для того же экземпляра до завершения задачи.

-или-

Подключение SqlConnection, закрытое или удаленное во время операции потоковой передачи. Дополнительные сведения о потоковой передаче см. в разделе Поддержка потоковой передачи SqlClient.

SQL Server вернул ошибку во время выполнения текста команды.

-или-

Во время операции потоковой передачи истекло время ожидания. Дополнительные сведения о потоковой передаче см. в разделе Поддержка потоковой передачи SqlClient.

Произошла ошибка в объекте Stream или XmlReaderTextReader во время операции потоковой передачи. Дополнительные сведения о потоковой передаче см. в разделе Поддержка потоковой передачи SqlClient.

Объект Stream , XmlReader или TextReader был закрыт во время операции потоковой передачи. Дополнительные сведения о потоковой передаче см. в разделе Поддержка потоковой передачи SqlClient.

Комментарии

Дополнительные сведения об асинхронном программировании в поставщике данных платформа .NET Framework для SQL Server см. в статье Асинхронное программирование.

Примечание

Для длительных запросов на сервере рекомендуется использовать ExecuteScalar из-за известной проблемы с отменой запросов с помощью маркера отмены. Кроме того, рассмотрите возможность отмены Cancel выполнения с помощью метода .

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