SqlDataSourceView.ExecuteUpdate(IDictionary, IDictionary, IDictionary) 方法

定义

使用 UpdateCommand SQL 字符串、UpdateParameters 集合中的所有参数,以及指定的 keysvaluesoldValues 集合中的值执行更新操作。

protected:
 override int ExecuteUpdate(System::Collections::IDictionary ^ keys, System::Collections::IDictionary ^ values, System::Collections::IDictionary ^ oldValues);
protected override int ExecuteUpdate (System.Collections.IDictionary keys, System.Collections.IDictionary values, System.Collections.IDictionary oldValues);
override this.ExecuteUpdate : System.Collections.IDictionary * System.Collections.IDictionary * System.Collections.IDictionary -> int
Protected Overrides Function ExecuteUpdate (keys As IDictionary, values As IDictionary, oldValues As IDictionary) As Integer

参数

keys
IDictionary

IDictionary 属性一起使用以执行更新数据库操作的主键的 UpdateCommand。 如果不存在与查询关联的键,或如果 UpdateCommand 属性不是参数化 SQL 查询,则传递 null

values
IDictionary

IDictionary 属性一起使用以执行更新数据库操作的值的 UpdateCommand。 如果不存在与查询关联的参数,或者如果 UpdateCommand 不是参数化 SQL 查询,则传递 null

oldValues
IDictionary

IDictionary,表示数据库中的原始值。 如果不存在与查询关联的参数,或者如果 UpdateCommand 属性不是参数化 SQL 查询,则传递 null

返回

一个值,该值表示基础数据库中被更新的行数。

例外

SqlDataSource 无法与基础数据源建立连接。

- 或 -

ConflictDetection 属性设置为 CompareAllValues 值但未传递 oldValues 参数。

当前用户不具有访问数据库的正确权限。

CanUpdate 属性为 false

注解

SqlDataSourceView 实现继承 ExecuteUpdate 的 方法来更新数据库中的数据。 页面开发人员和数据绑定控件作者不会直接调用 ExecuteUpdate 方法;而是使用公开的方法 Update

values 集合中包含的keys值将计算并与集合包含UpdateParameters的任何值合并。 如果 属性 ConflictDetection 设置为 CompareAllValues,则集合中包含的 oldValues 值使用 OldValuesParameterFormatString 和 合并格式。

在执行更新操作之前, OnUpdating 将调用 方法来引发 Updating 事件。 可以处理此事件以检查参数的值,并在更新之前执行任何预处理。

若要执行该操作,将使用SqlDataSourceView文本和任何关联的UpdateParameters属性生成对象DbCommandUpdateCommand,然后针对基础数据库执行DbCommand对象。 操作完成后, OnUpdated 将调用 方法来引发 Updated 事件。 可以处理此事件以检查任何返回值和错误代码,并执行任何后期处理。

适用于

另请参阅