SqlCommand.ExecuteScalarAsync(CancellationToken) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
的 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
取消指示。
返回
表示异步操作的任务。
例外
无效的 CommandBehavior 值。
当 SqlDbType 设置为 Stream 时Value,使用了 Binary 或 VarBinary 以外的 。 有关流式处理的详细信息,请参阅 SqlClient 流支持。
- 或 -
设置为 SqlDbType 时ValueTextReader ,使用了 Char、NChar、NVarChar、VarChar 或 Xml 以外的 。
-或-
在完成任务前,为同一个实例多次调用 ExecuteScalarAsync(CancellationToken)。
- 或 -
流式处理操作期间关闭或删除了 SqlConnection。 有关流式处理的详细信息,请参阅 SqlClient 流支持。
在流式处理操作期间, XmlReader 或 TextReader 对象中Stream发生错误。 有关流式处理的详细信息,请参阅 SqlClient 流支持。
在 Stream 流式处理操作期间关闭了 、 XmlReader 或 TextReader 对象。 有关流式处理的详细信息,请参阅 SqlClient 流支持。
注解
有关 .NET Framework Data Provider for SQL Server 中异步编程的详细信息,请参阅异步编程。
注意
对于服务器上长时间运行的查询,请考虑使用 ExecuteScalar ,因为存在通过取消令牌取消查询的已知问题。 此外,请考虑使用 Cancel 方法取消执行。