以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 外部表情况下启动时让用户选择数据源之再思考!--已成型 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=44299) |
-- 作者:jnletao -- 发布时间:2013/12/27 12:24:00 -- 外部表情况下启动时让用户选择数据源之再思考!--已成型 经测试 CreateObject("ADOX.Catalog") 语法在BeforeOpenProject里可用,具体MSSQL方式未测 思路, 1,在服务器端单独建立一个数据源 如:ErpConfig,建表config 此表用于存放客户端 启动时所用资料 如 可选数据库(测试,正式) 2,在BeforeOpenProject里结合全局代码生成的窗体的 采用CreateObject("ADOX.Catalog") 语法 调取数据,让用户选择, 选择后 在本地生成文本文件 如(dataconfig.txt) . 3,在 BeforeConnectOuterDataSource事件里 调用dataconfig.txt 链接不同数据源 此方法 最好 单做一个服务端 管理程序,用于管理ErpConfig数据,便于用户访问。 以上是思路,正在尝试制作中,诸位如觉得可行,可给个范例给小弟参考下,小弟语法不熟,制作很慢。
[此贴子已经被作者于2013-12-28 9:10:42编辑过]
|
-- 作者:程兴刚 -- 发布时间:2013/12/27 12:36:00 -- 看看我曾经的预言! |
-- 作者:jnletao -- 发布时间:2013/12/27 12:38:00 -- 二合一? 切换数据源后 用户权限可能就不同步了 |
-- 作者:程兴刚 -- 发布时间:2013/12/27 12:42:00 -- 您说对了,我一直在等您去反思这个问题,用户管理必须随数据库走,否则,授权功能将变得苍白无力,系统的授权管理将很麻烦! |
-- 作者:jnletao -- 发布时间:2013/12/27 17:26:00 -- 完工80% |
-- 作者:jnletao -- 发布时间:2013/12/28 9:10:00 -- 我的设计思路大体没变,语法做了调整 BeforeOpenProject \'先读取外部数据库配置文件,数据库可切换的 前提是这个配置文件DBconfig.mdb的位置名称不能变 \'Dim con As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\启动项目之数据源切换\\DBconfig.mdb;Persist Security Info=False") \'Dim cmd As New System.Data.OleDb.OleDbCommand("Select * FROM 设置", con) \'Dim DataReader As System.Data.OleDb.OleDbDataReader \'定义DataReader对象 \'Dim FieldCount As Integer \'con.Open() \'DataReader = cmd.ExecuteReader \'执行SQL语句,返回给DataReader对象 \'FieldCount = DataReader.FieldCount \'While DataReader.Read \'MessageBox.Show(DataReader("用户可选数据库")) \'End While \'con.Close() 1,采用.net语法在BeforeOpenProject里先连接数据库 2,把用户选择的 数据源 放入 全局变量,以供调用 3,在全局代码里定义选择窗体(感谢逛逛老师提供学习案例) 有需求的朋友的可看5楼示例。重点代码都在里面。成品就不再传了。
[此贴子已经被作者于2013-12-28 9:19:41编辑过]
|
-- 作者:blackzhu -- 发布时间:2013/12/28 9:18:00 -- 这个也是我当时想搞的. |
-- 作者:Bin -- 发布时间:2013/12/28 9:22:00 -- 谢谢分享 |
-- 作者:xuezxz -- 发布时间:2014/2/14 22:24:00 -- 占位,备查 |
-- 作者:原来那颗白菜 -- 发布时间:2016/2/20 22:57:00 -- 感觉有同样需求,不知解决办法 |