Foxtable(狐表)用户栏目专家坐堂 → 怎样让自己开发的软件和数据源的指向无关?


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

主题:怎样让自己开发的软件和数据源的指向无关?

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57590 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By: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


 回到顶部