以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  怎样让自己开发的软件和数据源的指向无关?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=23630)

--  作者:Fotable
--  发布时间:2012/9/14 15:55:00
--  怎样让自己开发的软件和数据源的指向无关?

开发好了一个软件,你自己有一个测试实验数据源。

交付给客户使用后,客户有自己的数据源。

怎样让这种交付无缝化呢。

采用什么方法来处理?

1、在BeforeConnectOuterdatasource 事件里,弹出对话框,让客户自己来编辑数据源。(每次都让客户自己设定,不是很繁琐吗?)

2、在程序文件夹下建立 congfig.ini文件 把数据源连接串存在里面。(foxtable有读取ini文件的方法吗?)

3、把连接数据源信息存储在注册表里(foxtable如何读取注册表)

 

 

还有什么方法吗?大家使用的是哪种?哪种方法好一些。

[此贴子已经被作者于2012-9-14 15:59:54编辑过]

--  作者:lin_hailun
--  发布时间:2012/9/14 16:05:00
--  
 结合最好。

 自定义窗口连接数据源,连接成功,保存到本地文件。

 注册表 http://www.foxtable.com/help/topics/2051.htm
--  作者:cctv2cctv
--  发布时间:2012/9/14 16:11:00
--  
把数据库放在程序目录下,要哪个就覆盖一下
--  作者:Fotable
--  发布时间:2012/9/14 16:21:00
--  
 

SaveConfigValue

保存设置信息

语法:

SaveConfigValue(Name, Value)

Name:  设置名称
Value: 设置值

设置信息经过加密储存,安全性比一般的方式更有保证。

 

 

这个config是存储在哪个文件内呢


--  作者:blackzhu
--  发布时间:2012/9/15 8:10:00
--  
呵呵  你这个做个数据源连接窗口吧.  或者采取这个办法:

示例四

假定有一个名为“销售数据”远程数据源,默认的IP地址为119.119.120.120,因为服务器的调整,IP地址可能会发生变化,导致数据源无法连接。
为解决这个问题,可以在用户管理窗口增加一个名为IP的扩展用户属性,让用户在登录的时候,可以输入另一个IP地址,
然后BeforeConnectOuterDataSource事件中加入下面的代码:

If e.Name = "销售数据" Then
    Dim
IP As String = e.User.ExtendedValues("IP") \'获得用户输入的IP
   
If IP > "" \'如果用户自己输入了IP
        \'则用用户输入的IP替换原来的IP

        e.ConnectionString = e.ConnectionString.Replace(
"119.119.120.120", IP)
    End
If
End
If

你也可以用另一种方法解决,在项目文件目录下创建一个ip.txt的文本文件,在该文件中输入最新的IP地址,并在BeforeConnectOuterDataSource事件中设置如下代码:

Dim ipFile As String = e.ProjectPath & "ip.txt"
If
e.Name = "销售数据" Then
    If
Filesys.FileExists(ipFile) Then
        Dim
ip As String = FileSys.ReadAllText(ipFile)
        e.ConnectionString = e.ConnectionString.Replace("119.119.120.120",ip)
    End
If

End
If

示例五

你也可以在连接某一数据源之前,执行方法EditConnectionString,让用户手工设置连接字符串。
例如你希望在连接“销售数据”的时候,如果登录用户为开发者,则显示数据连接窗口,让用户手动选择外部数据源

If e.User.Type = UserTypeEnum.Developer Then
    e.EditConnectionString()

End
If


--  作者:shenyl0211
--  发布时间:2012/9/15 10:55:00
--  
项目文件的扩展名和路径都是不一样的,因此,用if语句就可以搞定了。