共用方式為


SqlCommand.EndExecuteNonQuery(IAsyncResult) 方法

定義

完成 Transact-SQL 陳述式的非同步執行。

public:
 int EndExecuteNonQuery(IAsyncResult ^ asyncResult);
public int EndExecuteNonQuery (IAsyncResult asyncResult);
member this.EndExecuteNonQuery : IAsyncResult -> int
Public Function EndExecuteNonQuery (asyncResult As IAsyncResult) As Integer

參數

asyncResult
IAsyncResult

IAsyncResult呼叫 所傳回的 BeginExecuteNonQuery()

傳回

受影響的資料列數目 (與) 相同的行為 ExecuteNonQuery()

例外狀況

asyncResult 參數為 Microsoft Visual Basic) 中的 null Nothing (

EndExecuteNonQuery(IAsyncResult) 針對單一命令執行呼叫多次,或方法與其執行方法不相符 (例如,呼叫 EndExecuteNonQuery(IAsyncResult) 以完成呼叫 BeginExecuteXmlReader() 的程式碼。

過了 CommandTimeout 中指定的時間且以 BeginExecuteNonQuery() 指定的非同步作業未完成。

-或-

在某些情況下, IAsyncResult 可以設定為IsCompleted 錯誤。 如果發生這種情況並呼叫 EndExecuteNonQuery(IAsyncResult),在過了 CommandTimeout 中指定的時間且以 BeginExecuteNonQuery() 指定的非同步作業未完成時,EndExecuteNonQuery 可能會引發 SqlException 錯誤。 若要更正這種情況,您應該增加 CommandTimeout 的值,或減少非同步作業所要完成的工作。

範例

如需示範如何使用 方法的 EndExecuteNonQuery 範例,請參閱 BeginExecuteNonQuery()

備註

當您呼叫 BeginExecuteNonQuery() 以執行 Transact-SQL 語句時,您必須呼叫 EndExecuteNonQuery 才能完成作業。 如果執行命令的程式尚未完成,這個方法會封鎖直到作業完成為止。 使用者可以使用 方法所傳回的 BeginExecuteNonQuery() 實例,確認命令已完成其作業 IAsyncResult 。 如果在呼叫 BeginExecuteNonQuery() 中指定回呼程式,則必須呼叫這個方法。

適用於