Foxtable(狐表)用户栏目专家坐堂 → [分享] 关于模块化和动态数据源的一个思路


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

主题:[分享] 关于模块化和动态数据源的一个思路

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


加好友 发短信
等级:版主 帖子:1693 积分:12135 威望:0 精华:7 注册:2013/7/11 10:52:00
[分享] 关于模块化和动态数据源的一个思路  发帖心情 Post By:2014/4/1 17:17:00 [显示全部帖子]

愚人节过完了,还是把标题改了,希望对大家有用。

 

 

原    [灌水] 愚人节愚人

只有两句话,但是看看还是要回复地。

 

图片点击可在新窗口打开查看

 

 

 

 

 

         这两句话都是建立在狐爸的动态加减表的功能上的

 

1、可以重新审视模块化设计的方法了
 前提: 1)如果我们在项目之初,首先建立模块表,包含每一个模块运行所需的支持表名。
           2)如果我们对模块的命名有一个合适的分类,如 通用模块、专用模块
           3)如果我们有一个只要切换主表就能自动打开的共有窗体,让我们对模块进行选择,按模块加载卸载表。
 结果: 我们的设计界面会很清爽,只有当前和通用模块的表、关联
 提示: 命名方式很重要。
           提取当前表名和字段名并不复杂。
           这些工作在权限管理中,本来就是要做的,只不过做在前面而已。

           在实际使用中,本来就应该按模块整体加卸载。

 

 

 

 

2、可以重新审视动态数据源的方式了
 前提:      1)系统启动时,外部表一律不加载。
               2)必须有一张内部表加载
               3)在本地建立一个空的Access数据库,启动时将数据源指向它。(如果没有,马上建一个也无妨)
 结果:     因为只加载内部表,启动时只检查数据源是否存在,是否可以联通,因此不会报错。
              后续可以通过删除数据源,马上新建同名数据源的方式来定位,然后加载相对应模块的表。

              由于只加载一个内部表,启动速度回提高,用户体验会改善。

 

 

放一个动态数据源测试

 

 

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:动态数据源测试.zip

 

测试语句,命令窗口

 

Dim s As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrator\桌面\动态数据源

测试\真表\多表统计.mdb;Persist Security Info=False"     ‘记得换做真实路径,不一定在项目文件夹下
If Connections.Contains("ss") Then
    Connections.Delete("ss")
End If
    Connections.add("ss",s)

If DataTables.Contains("订单") = False Then
    DataTables.Load("订单")

End If


 

 

 

 

 

[此贴子已经被作者于2015/10/4 12:43:57编辑过]

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


加好友 发短信
等级:版主 帖子:1693 积分:12135 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2014/4/1 17:48:00 [显示全部帖子]

这样都回

 

谢楼上几位了

 

 

图片点击可在新窗口打开查看  


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


加好友 发短信
等级:版主 帖子:1693 积分:12135 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2014/11/1 20:41:00 [显示全部帖子]

以下是引用lyfxybc在2014-11-1 20:15:00的发言:
测试可以加载表,再把加载的表删除后,代码就不执行了。如果放到按钮里,同理。关闭项目,再打开点击按钮,也不加载表?原因???

把加载的表删除?应该是卸载吧。

 

删除后项目中没有记录了,当然不会再加载表了。


 回到顶部