狐爸及各位狐狸朋友们,大家好!对于一次性删除表中的所有行的代码,有好几种方法,但所用时间都各有不同,现针对系统自带的学习文件《代码优化》项目中的“表A”里10000行来测试,我想到了三种方式,所用时间相差很大,现转给大家参考
第一种:
Dim sj As Date =Date.now
For Each dr As DataRow In DataTables("A").DataRows
For i As Integer =Tables("A").Rows.count-1 To 0 Step -1
DataTables("A").DataRows(i).delete
Next
Next
output.show((Date.now-sj).Totalseconds)
需时56.92秒
第二种:
Dim sj As Date =Date.now
DataTables("A").deletefor("项目 is not null")
output.show((Date.now-sj).Totalseconds)
需时3.625秒
第三种:
Dim sj As Date =Date.now
With Tables("A")
.Select(0, 0, .Rows.Count - 1, .Cols.Count - 1)
End With
Syscmd.Row.delete()
output.show((Date.now-sj).Totalseconds)
需时0.59秒
对于第三种情况,系统会弹出一个对话框,用户需及时“回车”确定,回车的时间决定了反应的速度!
另我想请问狐爸,为什么我加入模拟回车键无效的(sendkeys.send("{enter}"),如果能自动回车,速度会更快,请狐爸指点!