本人用这样的语句试图删除30000多行数据:
dim zhs as integer
zhs =
DataTables("订单").DataRows.CountFor i As integer = 0 To zhs-1
DataTables ("订单").DataRows.Delete(i)
Next
结果我的两核本本CPU性能达到80%以上,持续很时间也完成不了,只有强制停止了。
仔细想想,帮助中有一个
StopRedraw
可以停止绘制表
可能运用这个方法可以速度快一点吧。
不知各位大侠没有更快的方法,删除表中的所有数据?
[此贴子已经被作者于2008-10-21 22:32:43编辑过]
DataTables ("订单").DataRows.Clear()
哈哈,我才试了试,这个要快一点的。不过还是没有达到我的快速要求。
DeleteFor(Filter)
Filter: 指定删除条件。
例如删除订单表中2007年2月1日以前的行,代码为:
DataTables("订单").DeleteFor("[日期] < #2/1/2007#")
现在试试老大的建议!
[此贴子已经被作者于2008-10-21 22:34:16编辑过]
哈哈,就是要这个效果,一瞬间,不分青红皂白,统统删除!老大的建议好。30000条记录,一秒搞定了。
实际上我是想更新一个外部数据库里的数据,使之与财务数据库基本同步。
没办法,狐表无法实施外部数据表的“新增记录、修改记录”事件的编程,只能大批处理了。
需要注意的是,Clear直接从后台删除数据,没有办法反悔的。
如果删除大量数据,请压缩项目。