Foxtable(狐表)用户栏目专家坐堂 → [原创]老大请进: 关于“运行中创建和切换数据源”的应用问题。


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

主题:[原创]老大请进: 关于“运行中创建和切换数据源”的应用问题。

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


加好友 发短信
等级:五尾狐 帖子:1037 积分:7428 威望:0 精华:0 注册:2008/8/31 22:52:00
[原创]老大请进: 关于“运行中创建和切换数据源”的应用问题。  发帖心情 Post By:2009/4/17 0:32:00 [只看该作者]

今天看了一下这个增加的功能

帮助里的AddConnection,用来增加新数据源,并要求以字符串的形成定义数据源,

帮助里的ChangeConnection,用来在运行过程中切换并加载数据源,要求结构与原来的数据源结构完全一样,而且仅限于同名的表。

仔细思考了一下,这两个东西应是一起运用的,因为要加载新数据源必需关闭原来的数据源(加载的表一样如何行得通?),而新数据源只能在AddConnection里面设置(在菜单中设置结构一样的两个数据源,同时加载到同一表名中是不行通的)。

但是,这样的需求太少见了,请老六想想,ChangeConnection只允许加载完全一样的表,实在想不出有什么意义的。------我当时提建议时可能没能说清楚吧!

其实,用户只想要的是动态创建(修改)数据源,并提取其中的有效数据到标准模板中(内部表),实现的步骤是这样的:(为什么要这样啊?因为我想用标准模板消化各种品牌的同类软件数据库,如会计数据库等,用标准模板来做管理分析和稽查审核。)

第一步:运行过程中“创建(修改)数据源    而不一定要加载(切换)数据源的。------(为什么要这样啊?因为用户下次创建的不同的数据源,里面的表与原来完全不同了,如何在运行过程中加载?)

第二步:查询      利用QueryBuilder
SQLCommand等生成外部查询表,因为这里面必需要引用数据源的名称!------(为什么要用查询表?因为下次打开项目文件时这些表都不存在了,用户以后创建了不同的数据源产生完全不同的查询表,不会产生冲突,)

第三步:追加数据到内部表中    这个利用代码可以轻松实现的。------(为什么要为样啊?因为这相当于利用了众多的同类软件数据库,将它们化归已有分析利用稽查审核,这个是专业机构所需要的东西,因为他们面对众多的客户,众多的会计数据库)

也许大家要问?众多的数据库,那么多的表那么的字段,你怎么知道哪些是自己所需要的?
不要紧,专业机构有经验积累的不同会计软件库的数据字典,实在不行,分析一下要不了多少时间的。
将这个数据字典放到内部表中,可以高度自动化地将不同会计数据库化归已有。------
这叫化功大法!

现在只差一步:运行过程中“创建(修改)数据源”而不加载数据!

AddConnection 要求用字符串来定义且只能新增加,有多少用户会用字符串设置啊?

希望AddConnection能用生成器!

修改一下原来的没有加载任何表的数据源,这样不好吗?

希望能修改原来数据源(不加载任何表)!

多给一点选择不好吗!

至于ChangeConnection,感觉没有什么用的。

说了这多,不知谈清楚没有?

请老大考虑! 我知道这个东西不太复杂,因为不要求加载任何表!可以限制这个的,只需开放sql查询就OK了!
[此贴子已经被作者于2009-4-17 0:35:46编辑过]

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/4/17 8:27:00 [只看该作者]

呵呵,运行过程动态创建数据源,并没有要求一定要加载数据啊,我只是举个例子而已。
数据源加载后,你可以用SqlCommand,QueryBuilder,OuterTableBuilder来操作,也就是说,你的要求早已实现。

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

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


加好友 发短信
等级:五尾狐 帖子:1037 积分:7428 威望:0 精华:0 注册:2008/8/31 22:52:00
  发帖心情 Post By:2009/4/17 11:47:00 [只看该作者]

可是,AddConnection只能用字符串设置数据源,不能用生成器啊?

可是,AddConnection只能增加数据源,不能修改一下已经有的存在的数据源吗?只增加不减少,合理吗?

希望AddConnection能用生成器!

希望能修改原来数据源(不加载任何表)!


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


加好友 发短信
等级:五尾狐 帖子:1037 积分:7428 威望:0 精华:0 注册:2008/8/31 22:52:00
  发帖心情 Post By:2009/4/17 11:49:00 [只看该作者]

如果用系统菜单中的数据源生成器,需要重新打开项目文件,这样内部表中的数据是不能引用的。头痛的是这个!

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/4/17 12:02:00 [只看该作者]

以下是引用wcs在2009-4-17 11:47:00的发言:

可是,AddConnection只能用字符串设置数据源,不能用生成器啊?

可是,AddConnection只能增加数据源,不能修改一下已经有的存在的数据源吗?只增加不减少,合理吗?


呵呵,有了生成器生成的字符串做参考,你比照着写一个,不是难事吧?
修改已经存在的数据源是不可以的,但是你可以间接实现啊,ChangeConnection不就可以吗?


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


加好友 发短信
等级:五尾狐 帖子:1037 积分:7428 威望:0 精华:0 注册:2008/8/31 22:52:00
  发帖心情 Post By:2009/4/17 12:34:00 [只看该作者]

1、这个可以在用户窗口中设置一下的,可用代码引用;

2、ChangeConnection只能增加,不能删除,不太合理吧?

另外,我测试了一下,在系统菜单中增加(设置)数据源,如果不设置加载表的话,好像没有重新打开文件,至少我没有看到提示!不知是不是这样的?
如果是这样,那就好啰!
[此贴子已经被作者于2009-4-17 12:35:56编辑过]

 回到顶部