SqlDataSourceView.ExecuteDelete(IDictionary, IDictionary) 方法

定义

使用 DeleteCommand SQL 字符串、DeleteParameters 集合中指定的任何参数,以及指定的 keysoldValues 集合中的值执行删除操作。

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

参数

keys
IDictionary

IDictionary 操作要删除的对象或行键值的 ExecuteDelete(IDictionary, IDictionary)

oldValues
IDictionary

一个 IDictionary,包含仅当 ConflictDetection 属性设置为 CompareAllValues 值时才计算的行值。

返回

一个值,该值表示从基础数据库中删除的行数。

例外

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

- 或 -

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

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

- 或 -

控件的实例是 AccessDataSource 控件,而且对指定的 DataFile 属性路径的访问被拒绝。

CanDelete 属性为 false

- 或 -

使用 AccessDataSource 控件的实例前,设计器没有正确映射设计时相对路径。

注解

SqlDataSourceView 实现继承 ExecuteDelete 的方法以从数据库中删除数据。 页面开发人员和数据绑定控件作者不直接调用 ExecuteDelete 方法;而是使用公开的方法 Delete

将计算集合中包含的 keys 值,并将其与集合包含 DeleteParameters 的任何值合并。 如果 属性 ConflictDetection 设置为 CompareAllValues 值,则集合中包含的 oldValues 值将采用 OldValuesParameterFormatString 属性进行格式设置,并且也会合并。

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

为了执行删除操作,SqlDataSourceView对象使用DeleteCommand文本和任何关联的DeleteParameters属性生成对象DbCommand,然后针对基础数据库执行该DbCommand对象。 删除操作完成后, OnDeleted 将调用 方法来引发 Deleted 事件。 可以处理此事件来检查任何返回值和错误代码,并执行任何后处理。

适用于

另请参阅