Share via


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

取消指令。

傳回

表示非同步作業的工作。

例外狀況

SqlDbType當設定Stream為 時Value,使用了 BinaryVarBinary 以外的 。 如需串流的詳細資訊,請參閱 SqlClient 串流支援

-或-

SqlDbType當 設定TextReader為 時Value,會使用 CharNCharNVarCharVarCharXml 以外的 。

-或-

SqlDbType當設定XmlReader為 時Value,會使用 Xml 以外的 。

在工作完成前,對同一個執行個體呼叫 ExecuteScalarAsync(CancellationToken) 不止一次。

-或-

在串流作業期間已關閉或卸除的 SqlConnection。 如需串流的詳細資訊,請參閱 SqlClient 串流支援

SQL Server 於執行命令文字時傳回錯誤。

-或-

串流作業期間發生逾時。 如需串流的詳細資訊,請參閱 SqlClient 串流支援

在串流作業期間,XmlReaderTextReader 對象中Stream發生錯誤。 如需串流的詳細資訊,請參閱 SqlClient 串流支援

XmlReaderStream串流作業期間,或 TextReader 物件已關閉。 如需串流的詳細資訊,請參閱 SqlClient 串流支援

備註

如需 .NET Framework Data Provider for SQL Server 中異步程式設計的詳細資訊,請參閱異步程序設計

注意

對於伺服器上長時間執行的查詢,請考慮使用 ExecuteScalar ,因為透過取消令牌取消查詢的已知問題。 此外,請考慮使用 Cancel 方法來取消執行。

適用於