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

取消指令。

傳回

表示非同步作業的工作。

例外狀況

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

-或-

SqlDbType當 設定為 TextReaderValue,使用 CharNCharNVarCharVarCharXml 以外的 。

-或-

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

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

-或-

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

-或-

在連接字串中指定了 Context Connection=true

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

-或-

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

StreamXmlReaderTextReader 物件在串流作業期間發生錯誤。 如需串流的詳細資訊,請參閱 SqlClient 串流支援

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

取消令牌已取消。 此例外狀況會儲存在傳回的工作中。

備註

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

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException,仍會同步擲回。 如需預存的例外狀況,請參閱 所 ExecuteScalar()擲回的例外狀況。

適用於

另請參閱