本文档已存档,并且将不进行维护。

SqlDataSourceView.ExecuteUpdate 方法

注意:此方法在 .NET Framework 2.0 版中是新增的。

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

命名空间:System.Web.UI.WebControls
程序集:System.Web(在 system.web.dll 中)

protected override int ExecuteUpdate (
	IDictionary keys,
	IDictionary values,
	IDictionary oldValues
)
protected int ExecuteUpdate (
	IDictionary keys, 
	IDictionary values, 
	IDictionary oldValues
)
protected override function ExecuteUpdate (
	keys : IDictionary, 
	values : IDictionary, 
	oldValues : IDictionary
) : int

参数

keys

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

values

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

oldValues

IDictionary,表示数据库中的原始值。如果不存在与查询关联的参数,或者如果 UpdateCommand 属性不是参数化 SQL 查询,则传递 空引用(在 Visual Basic 中为 Nothing)。

返回值

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

异常类型条件

InvalidOperationException

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

- 或 -

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

HttpException

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

NotSupportedException

CanUpdate 属性为 false

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

计算 keysvalues 集合中包含的值,并将这些值与 UpdateParameters 集合中包含的所有值合并。如果 ConflictDetection 属性设置为 CompareAllValues,则用 OldValuesParameterFormatString 格式化 oldValues 集合中包含的值并合并这些值。

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

为执行操作,SqlDataSourceView 使用 UpdateCommand 文本和任何关联的 UpdateParameters 属性生成一个 DbCommand 对象,然后对基础数据库执行 DbCommand 对象。操作完成后,就会调用 OnUpdated 方法来引发 Updated 事件。您可以处理此事件,检查所有的返回值和错误代码并执行后续处理。

Windows 98、Windows 2000 SP4、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

.NET Framework

受以下版本支持:2.0
显示: