以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  9月17号的版本好像还是不支持动态加载和动态卸载外部数据源中的表?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=547)

--  作者:cpayinyuan
--  发布时间:2008/9/17 8:57:00
--  9月17号的版本好像还是不支持动态加载和动态卸载外部数据源中的表?
======================================
问:
贺老师,新版本中的OuterTableBuilder功能是用编码生成外部数据表,好像并不能实现动态加载外部表和动态卸载外部表的功能!
======================================
贺老师答复:

就是动态加载的方式之一,通过这种方式加载的外部数据表,可以用下面的方法卸载:
datatables.delete("表名")

另外一种方式可以参考大数据量的管理。
======================================
    好像目前的这种方式不叫动态加载外部表和卸载外部表,而是通过查询语句动态生成了一个新的外部表并加载(只不过这个新加载的外部表可以卸载),个人认为在实际应用中这样的情况很少用。在实际应用中,需要的不是这种方式,我和前面论坛中的那位老兄需要的也不是这样的功能,大家需要的是能够动态加载外部数据源中已经存在的某个外部表,然后在不需要的时候可以用代码再动态卸载它。
     关于您说的大数据量的管理,目前的版本中可以动态加载一个表的部分记录,并不能动态加载和卸载表啊?
[此贴子已经被作者于2008-9-17 9:35:51编辑过]

--  作者:贺老六
--  发布时间:2008/9/17 9:08:00
--  
呵呵,你是不是搞错了?

大家需要的是能够动态加载外部数据源中已经存在的某个外部表?

OuterTableBuilder不就是这样的吗?

如果是动态加载已经设置好的外部数据表,那么这个功能一开始就有的。
在BeforeLoadOutTable中,将SelectString属性设为:

Select * From 表名 Where False

这样就不会加载任何数据,然后在AfterOpenProject事件中加入:

Tables("表名").Visible = False

这样你也看不它,既然没有加载数据,你也看不见,自然就是没加载一样了。

需要加载他的时候:

DataTables("表名").LoadFilter = "加载条件"
DataTables("表名").Load
Tables("表名").Visible = True

这样可以看到这个表的数据,等于是加载了。

需要卸载的时候:

DataTables("表名").LoadFilter = "False"
DataTables("表名").Load
Tables("表名").Visible = False

现在重新回到不可见,没有数据的状态,等于是卸载了。




--  作者:cpayinyuan
--  发布时间:2008/9/17 9:35:00
--  
以下是引用贺老六在2008-9-17 9:08:00的发言:
呵呵,你是不是搞错了?

大家需要的是能够动态加载外部数据源中已经存在的某个外部表?

OuterTableBuilder不就是这样的吗?
…………

    噢,看明白了。可能我,还有论坛上的那位老兄,需要的都是原本就有的功能。我们一直想着怎么样不加载某个表,其实,可以换个角度,可以加载所有的外部表,只不过每个表都不加载任何行,就可以了。看起来,还得深入理解帮助中讲解的各项功能啊,但是,从另一个角度来讲,也表明帮助中讲解的有些地方还不够非常透彻,或者事例有点少。为了把狐表中的各项功能用好,大家都尽力吧!

[此贴子已经被作者于2008-9-17 9:36:31编辑过]

--  作者:贺老六
--  发布时间:2008/9/17 9:43:00
--  
呵呵,帮助文件很难具体到方方面面的应用的。

提到了如何动态加载数据,提到了如何隐藏表,接下来就得看用户自己的了。

当然,我们也会逐步提供更多的例子。
--  作者:kylin
--  发布时间:2008/9/17 9:51:00
--  
以下是引用cpayinyuan在2008-9-17 9:35:00的发言:

    噢,看明白了。可能我,还有论坛上的那位老兄,需要的都是原本就有的功能。我们一直想着怎么样不加载某个表,其实,可以换个角度,可以加载所有的外部表,只不过每个表都不加载任何行,就可以了。看起来,还得深入理解帮助中讲解的各项功能啊,但是,从另一个角度来讲,也表明帮助中讲解的有些地方还不够非常透彻,或者事例有点少。为了把狐表中的各项功能用好,大家都尽力吧!

[此贴子已经被作者于2008-9-17 9:36:31编辑过]

除此之外,补充一点,需要实际动手,到帮助中按"需"索骥,实践加理解才能最终透彻.呵呵.


--  作者:fangling
--  发布时间:2008/9/17 16:02:00
--  
以下是引用cpayinyuan在2008-9-17 9:35:00的发言:

    噢,看明白了。可能我,还有论坛上的那位老兄,需要的都是原本就有的功能。我们一直想着怎么样不加载某个表,其实,可以换个角度,可以加载所有的外部表,只不过每个表都不加载任何行,就可以了。看起来,还得深入理解帮助中讲解的各项功能啊,但是,从另一个角度来讲,也表明帮助中讲解的有些地方还不够非常透彻,或者事例有点少。为了把狐表中的各项功能用好,大家都尽力吧!

[此贴子已经被作者于2008-9-17 9:36:31编辑过]


     我说的就是OuterTableBuilder实现的动态加载外部表结构功能,而不是动态加载数据,这样可以避免在设计时必须加入所有表并隐藏。对于初级用户,由于foxtable的窗体必须依附于表的架构,正如lxl老兄所说的,没有太大的实用价值,因为必须要先有表结构才能进行设计窗体和其他的处理;如果将来窗体可以不依附于表的时候,在窗体设计的时候再添加数据表,这个功能就有实用价值了。对于高级用户来说,现在就可以通过代码新建数据表、窗体和控件,通过代码设置属性和数据处理,这较显得比较复杂了,也不是foxtable的重点。但这对foxtable的发展还是有宜的,毕竟狐表的用户群体呈现出多样化的趋势,一部分是刚入门的初学者,一部分是通过易表多年的使用具有一定经验的用户,一部分是具有一定程序设计知识需要提高编程效率的人。