Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[原创] 一个小的教训!

1楼
wcs 发表于:2008/10/21 22:11:00
本人用这样的语句试图删除30000多行数据:

dim zhs as integer
zhs = DataTables("订单").DataRows.Count
For i As integer = 0 To zhs-1
    DataTables ("订单").DataRows.Delete(i)
Next

结果我的两核本本CPU性能达到80%以上,持续很时间也完成不了,只有强制停止了。

仔细想想,帮助中有一个StopRedraw

可以停止绘制表

可能运用这个方法可以速度快一点吧。

不知各位大侠没有更快的方法,删除表中的所有数据?
[此贴子已经被作者于2008-10-21 22:32:43编辑过]
2楼
狐狸爸爸 发表于:2008/10/21 22:13:00
DataTables ("订单").DataRows.Clear()
3楼
wcs 发表于:2008/10/21 22:34:00

哈哈,我才试了试,这个要快一点的。不过还是没有达到我的快速要求。

DeleteFor(Filter)

Filter: 指定删除条件。

例如删除订单表中2007年2月1日以前的行,代码为:

DataTables
("订单").DeleteFor("[日期] < #2/1/2007#"
)

现在试试老大的建议!

[此贴子已经被作者于2008-10-21 22:34:16编辑过]
4楼
wcs 发表于:2008/10/21 22:39:00
哈哈,就是要这个效果,一瞬间,不分青红皂白,统统删除!老大的建议好。30000条记录,一秒搞定了。

实际上我是想更新一个外部数据库里的数据,使之与财务数据库基本同步。

没办法,狐表无法实施外部数据表的“新增记录、修改记录”事件的编程,只能大批处理了。
5楼
狐狸爸爸 发表于:2008/10/22 8:28:00
需要注意的是,Clear直接从后台删除数据,没有办法反悔的。
如果删除大量数据,请压缩项目。
共5 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 2 queries.