说明
使用 delete 方法可将 recordset 对象中的当前记录或一组记录标记为删除。如果 recordset 对象不允许删除记录将引发错误。使用立即更新模式将在数据库中进行立即删除,否则记录将标记为从缓存删除,实际的删除将在调用 updatebatch 方法时进行。(使用 filter 属性可查看已删除的记录)。
从已删除的记录中检索字段值将引发错误。删除当前记录后,在移动到其他记录之前已删除的记录将保持为当前记录。一旦离开已删除记录,则无法再次访问它。
如果在事务中嵌套删除,可用 rollbacktrans 方法恢复已删除的记录。如果处于批更新模式,则可用 cancelbatch 方法取消一个或一组挂起删除。
如果因与基本数据冲突而导致删除记录失败(如记录已被其他用户删除),则提供者向 errors 集合返回警告但不终止程序执行,只有在所有提出请求的记录上发生冲突时才会产生运行时错误。
如果 unique table 动态属性被设置,并且 recordset 是对多个表执行 join 操作的结果,那么,delete 方法将仅删除 unique table 属性所命名的表中的行。
execute 方法 (ado command)
执行在 commandtext 属性中指定的查询、sql 语句或存储过程。
语法
对于按行返回的 command:
set recordset = command.execute( recordsaffected, parameters, options )
对于非按行返回的 command:
command.execute recordsaffected, parameters, options
返回值
返回 recordset 对象引用。
参数
recordsaffected 可选,长整型变量,提供者向其返回操作所影响的记录数目。recordsaffected 参数仅应用于操作查询或存储过程。recordsaffected 不返回由返回结果的查询或存储过程所返回的记录数目。详细信息,请使用 recordcount 属性。
parameters 可选,变体型数组,使用 sql 语句传送的参数值。(用该参数传送时输出参数将不返回正确值。)
options 可选,长整型值,指示提供者如何计算 command 对象的 commandtext 属性。该值可为下列常量之一:
| 常量 | 说明 |
| adcmdtext | 指示提供者应按命令的文本定义(如 sql 语句)来计算 commandtext。 |
| adcmdtable | 指示 ado 应生成 sql 查询以便从 commandtext 命名的表中返回所有行。 |
| adcmdtabledirect | 指示提供者应从 commandtext 命名的表中返回所有行。 |
| adcmdstoredproc | 指示提供者应按存储过程计算 commandtext。 |
| adcmdunknown | 指示 commandtext 中的命令类型未知。 |
| adasyncexecute | 指示命令应异步执行。 |
| adasyncfetch | 指示对由 cachesize 属性指定的初始数量之后的剩余行应使用异步提取。 |