以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  老大 这个问题 好像有点问题吧  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=31147)

--  作者:布莱克朱
--  发布时间:2013/4/10 22:09:00
--  老大 这个问题 好像有点问题吧

   在帮助里面有这么一段:

 

  

  示例五

 

   假定有两个IP地址(也可能是两个服务器),分别是192.168.1.100和119.75.217.56,默认使用第一个IP地址,如果第一个IP地址无法接通,则自动切换到第二个IP地址。
   要实现这个功能很简单,首先在设置数据源的时候,使用第一个IP地址(192.168.1.100)设置,然后在BeforeConnectOuterDataSource事件中设置如下代码:

    If e.Name = "数据源名称" Then
       If Network.Ping("192.168.1.100",1000) = False  Then \'如果第一个IP无法接通
           e.ConnectionString = e.ConnectionString.Replace("192.168.1.100", "119.75.217.56")
       End If
    End If

 

  但是在网络不通的情况下 居然提示 网络不通 无法ping的提示 这个怎么回事?

 

   后来我改成这样:

   If e.Name = "服务器" Then
    Dim s As String = "Provider=SQLOLEDB.1;Password=shangqi09;Persist Security Info=True;User ID=shangqi09;Initial Catalog=shangqi09;Data Source=219.140.165.55"
    If Connections.TryConnect(s) = False Then
        MessageBox.Show("网络不通,执行另外一个连接")
        Dim ipFile As String = e.ProjectPath & "ip.txt"
        If Filesys.FileExists(ipFile) Then
            Dim ip As String = FileSys.ReadAllText(ipFile)
            e.ConnectionString =ip
        End If
    End If
End If

 

 这个IP.Txt 是新连接字符串

 

这样没有问题吧?


--  作者:有点甜
--  发布时间:2013/4/10 22:39:00
--  
哈,测试一下,就知道有没有问题了啊
--  作者:布莱克朱
--  发布时间:2013/4/10 23:32:00
--  
   我做了个窗口修改服务器 IP  密码 以及用户名的窗口

   本意是这样的,我做了项目交给人家使用,不想利用ctrl进去设置数据源,想通过窗口来修改ip等资料,   所以我在项目事件BeforeConnectOuterDataSource的里面判断了原来的连接字符串通不通 通自然没有问题可以进入系统,不通的话读取外部的IP.txt文档的连接字符串来进入系统. 
 
   但问题来了,外部ip.txt的文档里面的字符串我是利用这个窗口来修改的.但在BeforeConnectOuterDataSource里面是不可以打开窗口的(因为还没有生成窗口呢),所以我把这个窗口放到AfterOpenProject执行了.
   执行下来结果没有问题.但现在碰到的问题是 因为原来的连接字符串不通,那么临时修改字符串的那个窗口会弹出,需要关掉后再会判断刚才的那么一个过程.我想问老大 像这个情况应该怎样做比较好?那个临时修改字符串怎么样才能不出来?

--  作者:xiaoqiwei
--  发布时间:2013/4/11 2:41:00
--  
这里可以打开的窗口的,好像

图片点击可在新窗口打开查看此主题相关图片如下:3.jpg
图片点击可在新窗口打开查看
这个就是加载表的时候执行验证系统是否已注册,注册了则通过,否则就弹窗提示输入注册码。
[此贴子已经被作者于2013-4-11 2:42:13编辑过]

--  作者:blackzhu
--  发布时间:2013/4/11 7:45:00
--  
刺猬 你这个好像应该是项目事件里面的吧.

项目事件只有这个 AfterOpenProject  是加载了窗口了呀.


另外 一楼的做法 好像打开速度有点问题的.
[此贴子已经被作者于2013-4-11 7:48:49编辑过]