SQLDeleteFor

DataTable的SQLDeleteFor方法和DeleteFor有些类似,不过DeleteFor用于批量删除已经加载的数据,而SQLDeleteFor用于批量删除后台数据。

语法:

SQLDeleteFor(Filter)

Filter:  删除条件,采用的是SQL语法,和常规表达式的语法有所不同,请参考:SQL表达式的语法差异

SQLDeleteFor执行完毕后,会返回一个整数,表示合计删除了多少行。

SQLDeleteFor的删除是即时生效的,且无法撤销,所以在编写代码的时候,务必要先用测试数据进行验证,或者做好备份,以免对数据代码造成无法挽回的影响。

示例一

删除产品PD01的全部订单:

Dim cnt As Integer
cnt =
DataTables("订单").SQLDeleteFor("产品 = 'PD01'")
Output.Show(
"合计删除了" & cnt & "条记录!")

示例二

在DataTable中一次性删除大量的行,然后保存,效率是比较低的。
我们可以用
SQLDeleteFor直接从后台删除符合条件的行,然后用RemoveFor从DataTable移除符合条件的行,效率会提高很多,例如:

DataTables("表A").SQLDeleteFor("产品编号 = 1")
DataTables
("表A").RemoveFor("产品编号 = 1")

 


本页地址:http://www.foxtable.com/webhelp/topics/2899.htm