以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [灌水]"清除"按纽的清除速度太慢 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=2121) |
-- 作者:abcdzabcdz -- 发布时间:2009/3/16 17:53:00 -- [灌水]"清除"按纽的清除速度太慢 我试将一个有18列2000行的全数据表用"清除"按纽清除数据,在CPU为1G的计算机上运行,大约需2分钟,请老六看一下. |
-- 作者:czy -- 发布时间:2009/3/16 18:00:00 -- 表中有代码吗? 上传你的文件看看,或许自己写代码会好一点。 |
-- 作者:abcdzabcdz -- 发布时间:2009/3/16 18:03:00 -- 没有代码,自己写代码速度快很多. |
-- 作者:狐狸爸爸 -- 发布时间:2009/3/16 20:43:00 -- 这是一个毛病,用Clear: DataTables("表").DataRows.Clear() |
-- 作者:林中侠 -- 发布时间:2009/3/17 13:31:00 -- 记号 |
-- 作者:czy -- 发布时间:2009/3/17 14:33:00 -- 楼主说的清除和老六说的清除是两码事。 |
-- 作者:狐狸爸爸 -- 发布时间:2009/3/17 14:54:00 -- 哈哈,这样可以了: DataTables("表").DataRows.Clear() Tables("表").AddNew(2000) |
-- 作者:czy -- 发布时间:2009/3/17 14:56:00 -- 以下是引用狐狸爸爸在2009-3-17 14:54:00的发言:
哈哈,这样可以了: DataTables("表").DataRows.Clear() Tables("表").AddNew(2000)
|
-- 作者:狐狸爸爸 -- 发布时间:2009/3/17 15:11:00 -- |
-- 作者:czy -- 发布时间:2009/3/17 20:23:00 -- 有什么不好呢,反正他要清除表中的所有数据。 老六的方法虽然粗暴,但效果应该是根相当好的,估计比下面的代码要快的多。 For Each dr As DataRow in DataTables("表A").DataRows For Each dc As DataCol In DataTables("表A").DataCols dr(dc.Name) = Nothing Next Next 如果必须保留某几列的数据,可以不要第二个For Each语句,加入指定名称就可以。 |