Foxtable(狐表)用户栏目专家坐堂 → [建议]内部表设置、事件代码、窗口允许自动搬迁到外部表


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

主题:[建议]内部表设置、事件代码、窗口允许自动搬迁到外部表

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
[建议]内部表设置、事件代码、窗口允许自动搬迁到外部表  发帖心情 Post By:2009/4/21 12:51:00 [显示全部帖子]

作为一个系统,开发首期使用内部表进行规划设计,当要投入运用了,
将这些表导出来,比如导入到Access\Sql Server等外部数据库建造了同模同样的数据源,
在表名、表结构、表事件、包括窗口不变化的情况,允许内部表简单地改为外部数据表

这样,确实能够提高开发灵活度和效率

内部表在开发阶段有无法比拟的优势,外部表在实际运用时有无法比拟的优势
[此贴子已经被作者于2009-4-21 14:11:00编辑过]

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2009/4/21 13:14:00 [显示全部帖子]

以下是引用cpayinyuan在2009-4-21 13:10:00的发言:

   我采用的是变能的办法:    先把所有的内部表全部改名,然后把内部表导出到外部数据源中.这样,表名没有改变,以前所有的代码就不用改了.
    但是,这样仍然存在一个问题,就是以前的内部表的所有事件代码和表的窗口仍然存在于以前的表中,还需要来回的复制,非常不方便.也是由于这个原因,前一段我一直建议让窗口独立于表,并提供一个独立于表的代码管理器(可以在同一个界面管理不同表的事件代码并互相复制).

现在,我也是这样,改掉原来的表名,蚂蚁搬家,慢点爬了,呵呵
提个建议,为了给后来者方便
谁能保证,后悔用内部表,改用外部表呢

[此贴子已经被作者于2009-4-21 13:15:34编辑过]

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2009/4/21 13:56:00 [显示全部帖子]

一开始就能养成好习惯是很重要的,向程版学习!
如果,中途改变的话,那就有点无奈了
能否提供这样的一个内外部表自由切换,就好像外部表、外部数据源可以自由切换一样。

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2009/4/21 14:10:00 [显示全部帖子]

以下是引用cpayinyuan在2009-4-21 14:04:00的发言:

    允许切换倒没有多大问题。好像关键问题是怎样把原表中的窗口和事件代码移植到新表中去!核心还是不同表之间的窗口和事件代码如何移植的问题。

同你的意思,自动搬迁表设置、事件代码、窗口


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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2009/4/21 15:00:00 [显示全部帖子]

以下是引用狐狸爸爸在2009-4-21 14:16:00的发言:
先用这个看看:

ChangeConnection

这是DataTable的一个方法,用于切换数据源,语法:

ChangeConnection(ConnName)

ConnName: 数据源名称

例如我们希望订单表加载另一个数据源test中的数据,可以:

DataTables("订单").ChangeConnection("test")

一旦切换数据源,就会自动执行DataTable的Load方法,重新加载数据,你可以事先设置好加载条件:

DataTables("订单").LoadFilter = "[客户ID] = 'TOMSP'"
DataTables(
"订单").ChangeConnection("test"
)

需要注意的是:如果要切换某个表的数据源,那么新的数据源必须和原来的数据源具有同样名称的一个表,而且结构必须完全相同,否则会带来不可预料的错误。

分别放在两个地方测试,变不过来:
1、AfterOpenProject事件,没有动静
2、在窗口按钮中,出错


此主题相关图片如下:spximage.jpg
按此在新窗口浏览图片

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2009/4/21 19:09:00 [显示全部帖子]

解决这个问题很有必要的,呵呵
如果由内部表可以生成外部表,那不就更OK?!


 回到顶部