Foxtable(狐表)用户栏目专家坐堂 → 能否在运行时才加入外部表?


  共有28095人关注过本帖树形打印复制链接

主题:能否在运行时才加入外部表?

帅哥哟,离线,有人找我吗?
fangling
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:82 积分:1202 威望:0 精华:0 注册:2008/9/1 17:51:00
能否在运行时才加入外部表?  发帖心情 Post By:2008/9/15 11:00:00 [只看该作者]

foxtable好像只通过菜单添加外部数据表,不能通过代码在运行时加入,如果我的SQL数据库有上百个表,也必须事先在foxtable中用菜单全部加入,能不能在程序运行时,我需要哪个表再加入哪个表,不需要时就可以删除,这样不仅方便还可以降低内存占用?


 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19223 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2008/9/15 11:39:00 [只看该作者]

创建临时表和加载,具体参见帮助说明,基本可以达到楼主的需求。给两个图片供参考。

公测版需要大家的试用发表建言,但带着“先见”性的思想确实无法客观地了解一个新事物,不要轻言不可以。
图片点击可在新窗口打开查看此主题相关图片如下:tp1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:tp2.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
lxl
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2008/9/15 12:00:00 [只看该作者]

临时表加载不了外部数据表。
加载外部数据表,还有cpayinyuan提到的新建表,删除表一般都是设计者的事情。
用代码加载新的外部数据表能实现,但意义不大。因为加载了外部数据,你还要考虑增加表达式列,增加窗口等问题,否则就是单单一张表。
不对外部数据表进行处理的话,直接用QueryBuilder生成查询就行了,完全能实现想要什么表就有什么表


 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2008/9/15 12:18:00 [只看该作者]

以下是引用lxl在2008-9-15 12:00:00的发言:

临时表加载不了外部数据表。
加载外部数据表,还有cpayinyuan提到的新建表,删除表一般都是设计者的事情。
用代码加载新的外部数据表能实现,但意义不大。因为加载了外部数据,你还要考虑增加表达式列,增加窗口等问题,否则就是单单一张表。
不对外部数据表进行处理的话,直接用QueryBuilder生成查询就行了,完全能实现想要什么表就有什么表

即使加载外部数据表是设计者的事,但是,如楼主所说,如果一个项目有几百个表,就只能在进入项目时一次性加载,好像不是一个好办法啊!再者,一般情况下,既然使用外部数据表,肯定是要对外部表进行编辑写数据的,只有查询恐怕是不行的啦!所以,建议还是应该考虑动态加载外部数据表或者卸载外部数据表的功能.


 回到顶部
帅哥哟,离线,有人找我吗?
lxl
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2008/9/15 12:56:00 [只看该作者]

恩,说的有道理

不过外部数据表比较多的时候,可以用项目事件BeforeLoadOuterTable来修改Select语句
这样不但能动态加载外部数据表,还能保存外部数据表的窗口,表视图,表达式列.


 回到顶部
帅哥哟,离线,有人找我吗?
贺老六
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/9/15 14:41:00 [只看该作者]

这个建议我会考虑,准备提供OuterTableBuilder类
[此贴子已经被作者于2008-9-15 14:40:55编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
fangling
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:82 积分:1202 威望:0 精华:0 注册:2008/9/1 17:51:00
  发帖心情 Post By:2008/9/15 14:48:00 [只看该作者]

        我想foxtable把表分成了5种类型,可能是处理方式不一样吧?我理解datatable对象就是内存中的表结构,他一方面从foxtable文件中读取数据,一方面从外部数据文件提取数据,一旦数据读入到datatable对象后应该没有多大差别,不同的只是保存更新方式不一样,建议还是应该考虑在datatables集合中增加add和delete两个方法,凡是集合都应该有这两个方法的。
     以上只是自己的猜想,不一定正确。


 回到顶部
帅哥哟,离线,有人找我吗?
贺老六
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/9/15 14:51:00 [只看该作者]

delete方法是有的,凡是通过代码创建的表,都可以用delete删除。

 回到顶部
帅哥哟,离线,有人找我吗?
eric803
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:243 积分:2370 威望:0 精华:1 注册:2008/8/31 22:25:00
  发帖心情 Post By: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编辑过]

 回到顶部
总数 14 1 2 下一页