以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教切换数据源 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=100975) |
-- 作者:hbhb -- 发布时间:2017/5/22 17:52:00 -- 请教切换数据源 大师:请问切换数据源为何很慢,30张表不加载数据,也要10以上秒,为何? |
-- 作者:有点蓝 -- 发布时间:2017/5/22 17:56:00 -- 什么数据库,本地还是远程数据库,怎么切换的 |
-- 作者:hbhb -- 发布时间:2017/5/23 10:45:00 -- 本地access数据库 \'------ 改变表的数据源不加载数据----- Dim nm As String = args(0) \'---表名称-- Dim dtconn As String = args(1) \'---数据源名称 Dim yn As Boolean = args(2) \'---是否加载数据 Dim filter As String = args(3) \'---加载数据条件,根据不同的数据源设置条件,如果为空加载所有数据 If DataTables.Contains(nm) = False Then DataTables.Load(nm) \'------加载此表不加载数据,在加载外部表时设置的条件为准,一般不加载数据--- End If DataTables(nm).StopRedraw If yn = True \'---是否加载数据--- DataTables(nm).LoadFilter = filter \'---加载数据源中所有数据 Else filter = "[_identify] is null" DataTables(nm).LoadFilter = filter \'---加载数据源中所有数据 End If DataTables(nm).ChangeConnection(dtconn) DataTables(nm).ResumeRedraw |
-- 作者:有点色 -- 发布时间:2017/5/23 11:18:00 -- 切换数据源,相当于连接数据库30次,执行了30次Load方法。
你在事件里面有没有写耗时的代码?有没有表达式列影响加载? |
-- 作者:hbhb -- 发布时间:2017/5/23 13:39:00 -- 关闭了所有事件。 请问如果表a,已经加载了2万行数据,我现在切换该表的数据源,切换前是否自动保存表a,并耗时?究竟耗时在哪里? DataTables("表a").LoadFilter = "_identify is null"
DataTables("表a").ChangeConnection("test") |
-- 作者:有点色 -- 发布时间:2017/5/23 14:03:00 -- 是否保存你测试一下便知。如果你不需要保存这样处理
http://www.foxtable.com/webhelp/scr/1538.htm
http://www.foxtable.com/webhelp/scr/2365.htm
|