以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [原创]老大请进: 关于“运行中创建和切换数据源”的应用问题。 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2479) |
-- 作者:wcs -- 发布时间:2009/4/17 0:32:00 -- [原创]老大请进: 关于“运行中创建和切换数据源”的应用问题。 今天看了一下这个增加的功能 帮助里的AddConnection,用来增加新数据源,并要求以字符串的形成定义数据源, 帮助里的ChangeConnection,用来在运行过程中切换并加载数据源,要求结构与原来的数据源结构完全一样,而且仅限于同名的表。 仔细思考了一下,这两个东西应是一起运用的,因为要加载新数据源必需关闭原来的数据源(加载的表一样如何行得通?),而新数据源只能在AddConnection里面设置(在菜单中设置结构一样的两个数据源,同时加载到同一表名中是不行通的)。 但是,这样的需求太少见了,请老六想想,ChangeConnection只允许加载完全一样的表,实在想不出有什么意义的。------我当时提建议时可能没能说清楚吧! 其实,用户只想要的是动态创建(修改)数据源,并提取其中的有效数据到标准模板中(内部表),实现的步骤是这样的:(为什么要这样啊?因为我想用标准模板消化各种品牌的同类软件数据库,如会计数据库等,用标准模板来做管理分析和稽查审核。) 第一步:运行过程中“创建(修改)数据源” 而不一定要加载(切换)数据源的。------(为什么要这样啊?因为用户下次创建的不同的数据源,里面的表与原来完全不同了,如何在运行过程中加载?) 第二步:查询 利用QueryBuilder、SQLCommand等生成外部查询表,因为这里面必需要引用数据源的名称!------(为什么要用查询表?因为下次打开项目文件时这些表都不存在了,用户以后创建了不同的数据源产生完全不同的查询表,不会产生冲突,) 第三步:追加数据到内部表中 这个利用代码可以轻松实现的。------(为什么要为样啊?因为这相当于利用了众多的同类软件数据库,将它们化归已有分析利用稽查审核,这个是专业机构所需要的东西,因为他们面对众多的客户,众多的会计数据库) 也许大家要问?众多的数据库,那么多的表那么的字段,你怎么知道哪些是自己所需要的? 不要紧,专业机构有经验积累的不同会计软件库的数据字典,实在不行,分析一下要不了多少时间的。 将这个数据字典放到内部表中,可以高度自动化地将不同会计数据库化归已有。------这叫化功大法! 现在只差一步:运行过程中“创建(修改)数据源”而不加载数据! AddConnection 要求用字符串来定义且只能新增加,有多少用户会用字符串设置啊? 希望AddConnection能用生成器! 修改一下原来的没有加载任何表的数据源,这样不好吗? 希望能修改原来数据源(不加载任何表)! 多给一点选择不好吗! 至于ChangeConnection,感觉没有什么用的。 说了这多,不知谈清楚没有? 请老大考虑! 我知道这个东西不太复杂,因为不要求加载任何表!可以限制这个的,只需开放sql查询就OK了! [此贴子已经被作者于2009-4-17 0:35:46编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2009/4/17 8:27:00 -- 呵呵,运行过程动态创建数据源,并没有要求一定要加载数据啊,我只是举个例子而已。 数据源加载后,你可以用SqlCommand,QueryBuilder,OuterTableBuilder来操作,也就是说,你的要求早已实现。 |
-- 作者:wcs -- 发布时间:2009/4/17 11:47:00 -- 可是,AddConnection只能用字符串设置数据源,不能用生成器啊? |
-- 作者:wcs -- 发布时间:2009/4/17 11:49:00 -- 如果用系统菜单中的数据源生成器,需要重新打开项目文件,这样内部表中的数据是不能引用的。头痛的是这个! |
-- 作者:狐狸爸爸 -- 发布时间:2009/4/17 12:02:00 -- 以下是引用wcs在2009-4-17 11:47:00的发言:
可是,AddConnection只能用字符串设置数据源,不能用生成器啊?
|
-- 作者:wcs -- 发布时间:2009/4/17 12:34:00 -- 1、这个可以在用户窗口中设置一下的,可用代码引用; 2、ChangeConnection只能增加,不能删除,不太合理吧? 另外,我测试了一下,在系统菜单中增加(设置)数据源,如果不设置加载表的话,好像没有重新打开文件,至少我没有看到提示!不知是不是这样的? 如果是这样,那就好啰! [此贴子已经被作者于2009-4-17 12:35:56编辑过]
|