SqlCommand.EndExecuteNonQuery(IAsyncResult) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
完成 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() 中指定回呼程式,則必須呼叫這個方法。