以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 能否在运行时才加入外部表? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=502)
|
-- 作者:fangling
-- 发布时间:2008/9/15 11:00:00
-- 能否在运行时才加入外部表?
foxtable好像只通过菜单添加外部数据表,不能通过代码在运行时加入,如果我的SQL数据库有上百个表,也必须事先在foxtable中用菜单全部加入,能不能在程序运行时,我需要哪个表再加入哪个表,不需要时就可以删除,这样不仅方便还可以降低内存占用?
|
-- 作者:cpayinyuan
-- 发布时间:2008/9/15 11:09:00
--
以下是引用fangling在2008-9-15 11:00:00的发言:
foxtable好像只通过菜单添加外部数据表,不能通过代码在运行时加入,如果我的SQL数据库有上百个表,也必须事先在foxtable中用菜单全部加入,能不能在程序运行时,我需要哪个表再加入哪个表,不需要时就可以删除,这样不仅方便还可以降低内存占用?
有同感!我也没有看到帮助中有自动加载的相关命令!个人认为,目前的foxtable对外部数据表的支持还是很弱的,主要问题一是有些操作不方便或功能不完善(例如你提的加载的问题以及新建表的功能),有些地方的运行效率不高(可能现在已经有很大的改善了),还有些地方对SQl server的操作会提示出错.可能是狐表的重点还是内部数据表吧,但我认为既然FOX支持外部数据源,就应该提供很强/很完善的支持!适应各种层次的用户!
[此贴子已经被作者于2008-9-15 12:14:20编辑过]
|
-- 作者:kylin
-- 发布时间:2008/9/15 11:39:00
--
创建临时表和加载,具体参见帮助说明,基本可以达到楼主的需求。给两个图片供参考。
公测版需要大家的试用发表建言,但带着“先见”性的思想确实无法客观地了解一个新事物,不要轻言不可以。 此主题相关图片如下:tp1.jpg
此主题相关图片如下:tp2.jpg
|
-- 作者:lxl
-- 发布时间:2008/9/15 12:00:00
--
临时表加载不了外部数据表。 加载外部数据表,还有cpayinyuan提到的新建表,删除表一般都是设计者的事情。 用代码加载新的外部数据表能实现,但意义不大。因为加载了外部数据,你还要考虑增加表达式列,增加窗口等问题,否则就是单单一张表。 不对外部数据表进行处理的话,直接用QueryBuilder生成查询就行了,完全能实现想要什么表就有什么表
|
-- 作者:cpayinyuan
-- 发布时间:2008/9/15 12:18:00
--
以下是引用lxl在2008-9-15 12:00:00的发言:
临时表加载不了外部数据表。 加载外部数据表,还有cpayinyuan提到的新建表,删除表一般都是设计者的事情。 用代码加载新的外部数据表能实现,但意义不大。因为加载了外部数据,你还要考虑增加表达式列,增加窗口等问题,否则就是单单一张表。 不对外部数据表进行处理的话,直接用QueryBuilder生成查询就行了,完全能实现想要什么表就有什么表
即使加载外部数据表是设计者的事,但是,如楼主所说,如果一个项目有几百个表,就只能在进入项目时一次性加载,好像不是一个好办法啊!再者,一般情况下,既然使用外部数据表,肯定是要对外部表进行编辑写数据的,只有查询恐怕是不行的啦!所以,建议还是应该考虑动态加载外部数据表或者卸载外部数据表的功能.
|
-- 作者:lxl
-- 发布时间:2008/9/15 12:56:00
--
恩,说的有道理
不过外部数据表比较多的时候,可以用项目事件BeforeLoadOuterTable来修改Select语句 这样不但能动态加载外部数据表,还能保存外部数据表的窗口,表视图,表达式列.
|
-- 作者:贺老六
-- 发布时间:2008/9/15 14:41:00
--
这个建议我会考虑,准备提供OuterTableBuilder类
[此贴子已经被作者于2008-9-15 14:40:55编辑过]
|
-- 作者:fangling
-- 发布时间:2008/9/15 14:48:00
--
我想foxtable把表分成了5种类型,可能是处理方式不一样吧?我理解datatable对象就是内存中的表结构,他一方面从foxtable文件中读取数据,一方面从外部数据文件提取数据,一旦数据读入到datatable对象后应该没有多大差别,不同的只是保存更新方式不一样,建议还是应该考虑在datatables集合中增加add和delete两个方法,凡是集合都应该有这两个方法的。 以上只是自己的猜想,不一定正确。
|
-- 作者:贺老六
-- 发布时间:2008/9/15 14:51:00
--
delete方法是有的,凡是通过代码创建的表,都可以用delete删除。
|
-- 作者:eric803
-- 发布时间:2008/9/16 9:08:00
--
以下是引用贺老六在2008-9-15 14:41:00的发言:
这个建议我会考虑,准备提供OuterTableBuilder类
[此贴子已经被作者于2008-9-15 14:40:55编辑过]
我想还应考虑 OuterTableQueryBuilder类 另外我觉行既然是查询表,就不应该只限制从单个表中创建查询表,建议在QueryBuilder类支持 SQL存储过程的使用.
期待!
[此贴子已经被作者于2008-9-16 9:13:49编辑过]
|