以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 动态加载表与Fill的比较 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=58361) |
-- 作者:happyft -- 发布时间:2014/10/15 19:23:00 -- 动态加载表与Fill的比较 在项目的外部数据表设置那添加了外部表,但打开项目时没有加载,通过下面的代码需要时再加载表结构进来, DataTables.Load("表C") \'加载表C End If 这种方式和项目的外部数据表设置那不添加任何表,直接在打开窗口时将表结构及数据Fill到窗口的sqltable中,哪种方式效率更高? 谢谢!
|
-- 作者:有点甜 -- 发布时间:2014/10/15 19:39:00 -- 动态加载的,有表属性,设置的列属性、表样式那些都有效。
如果是fill进来的,你就不能灵活添加事件代码了 |
-- 作者:HappyFt -- 发布时间:2014/10/15 19:44:00 -- 主要是想问下两者的速度哪个快,还是都差不多? |
-- 作者:有点甜 -- 发布时间:2014/10/15 19:57:00 -- 本质不同。一个是重新加载数据,一个是撤销数据。
加载,需要从数据库去得;撤销,不需要访问数据库。
如果是外部网络数据源,看数据量、看网速。 |
-- 作者:HappyFt -- 发布时间:2014/10/15 20:46:00 -- 谢谢甜老师,但还是不明白;重新理下思路。 方式1:要用到表时用下面代码加载 If DataTables.Contains("表C") = False Then \'如果表C没有加载 DataTables.Load("表C") \'加载表C End If 用完后关闭是又用下面的代码卸载; If
DataTables.Contains("表C")
Then
\'如果表C已经加载 如果再次用到此表时又要重复上述过程 方式二: 而窗口中的SQLtable是在打开窗口时才加载表 Tables(“窗口1").Fill("select * from {表C} where [_Identify] < 0",data,False) 每次打开窗口1就加载表,关闭窗口1就卸载表了。 如果不考虑数据量,都是SQL外部数据源,仅加载表结构速度 上哪种会更快呢? |
-- 作者:有点甜 -- 发布时间:2014/10/15 20:52:00 -- 方式二会快一些,方法一的功能多一些。 |