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) Nothing 中的参数为 null (

EndExecuteNonQuery(IAsyncResult) 为单个命令执行多次调用,或者方法与其执行方法不匹配 (例如,调用 EndExecuteNonQuery(IAsyncResult) 的代码以完成对 BeginExecuteXmlReader() 的调用的执行。

CommandTimeout 中指定的时间已过,并且使用 BeginExecuteNonQuery() 指定的异步操作不完整。

- 或 -

在某些情况下, IAsyncResult 可以设置为IsCompleted 错误。 如果发生这种情况并且调用 EndExecuteNonQuery(IAsyncResult),则 EndExecuteNonQuery 可能引发 SqlException 错误(如果 CommandTimeout 中指定的时间已过,并且使用 BeginExecuteNonQuery() 指定的异步操作不完整)。 若要更正这种情况,应增加 CommandTimeout 的值或减少正由异步操作完成的工作。

示例

有关演示如何使用 EndExecuteNonQuery 方法的示例,请参阅 BeginExecuteNonQuery()

注解

调用 BeginExecuteNonQuery() 以执行 Transact-SQL 语句时,必须调用 EndExecuteNonQuery 才能完成操作。 如果命令的执行过程尚未完成,则此方法将阻止,直到操作完成。 用户可以使用 方法返回BeginExecuteNonQuery()的 实例来验证命令是否已完成其操作IAsyncResult。 如果在调用 BeginExecuteNonQuery()中指定了回调过程,则必须调用此方法。

适用于