SqlCommand.ExecuteScalarAsync(CancellationToken) 方法

定义

ExecuteScalar() 异步版本,它异步执行查询,并返回查询返回的结果集中第一行的第一列。 忽略其他列或行。

取消标记可用于在命令超时超过前请求放弃操作。 将通过返回的任务对象报告异常。

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

取消指示。

返回

表示异步操作的任务。

例外

SqlDbType 设置为 StreamValue,使用了 BinaryVarBinary 以外的 。 有关流式处理的详细信息,请参阅 SqlClient 流支持

- 或 -

设置为 SqlDbTypeValueTextReader ,使用了 CharNCharNVarCharVarCharXml 以外的 。

-或-

SqlDbType 设置为 XmlReaderValue,使用了 Xml 以外的 。

在完成任务前,为同一个实例多次调用 ExecuteScalarAsync(CancellationToken)

- 或 -

流式处理操作期间关闭或删除了 SqlConnection。 有关流式处理的详细信息,请参阅 SqlClient 流支持

执行命令文本时,SQL Server 返回了一个错误。

- 或 -

流式处理操作期间发生了超时。 有关流式处理的详细信息,请参阅 SqlClient 流支持

在流式处理操作期间, XmlReaderTextReader 对象中Stream发生错误。 有关流式处理的详细信息,请参阅 SqlClient 流支持

Stream 流式处理操作期间关闭了 、 XmlReaderTextReader 对象。 有关流式处理的详细信息,请参阅 SqlClient 流支持

注解

有关 .NET Framework Data Provider for SQL Server 中异步编程的详细信息,请参阅异步编程

注意

对于服务器上长时间运行的查询,请考虑使用 ExecuteScalar ,因为存在通过取消令牌取消查询的已知问题。 此外,请考虑使用 Cancel 方法取消执行。

适用于