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

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

CommandTimeout 完的时间量和指定的 BeginExecuteNonQuery 异步操作未完成。

-或-

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

示例

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

注解

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

适用于

另请参阅