Прочитать на английском

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


SqlCommand.ExecuteScalarAsync(CancellationToken) Метод

Определение

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

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

C#
public override System.Threading.Tasks.Task<object> ExecuteScalarAsync(System.Threading.CancellationToken cancellationToken);

Параметры

cancellationToken
CancellationToken

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

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

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

Исключения

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

-или-

Если SqlDbType для параметра задано значение TextReader, кроме Char, NChar, NVarChar, VarChar или Xml, использовался объект , отличный от ValueChar, NChar, NVarChar, VarChar или Xml.

-или-

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

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

-или-

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

-или-

Context Connection=true задается в строке подключения.

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

-или-

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

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

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

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

Комментарии

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

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

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

Продукт Версии
.NET Core 1.0, Core 1.1, 6 (package-provided), 7 (package-provided), 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)

См. также раздел