以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何在断网时快速退出  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=185412)

--  作者:zhangchi96
--  发布时间:2023/2/21 16:23:00
--  如何在断网时快速退出
Dim s1 As String = "   Provider=SQLOLEDB.1;Password=a*******;Persist Security Info=True;User ID=b****;Initial Catalog=a******;Data Source=1*.2**.3**.4** "
If Connections.TryConnect(s1) = False Then
    e.ConnectionString = s1
    MessageBox.Show("无法与服务器成功连通!","检查网络是否正常,服务器是否正常")
    Syscmd.Project.Exit(False) \'\'不询问,退出
End If

实际运行时,如果无法连通服务器,除了出现提示“无法与服务器成功连通!“外,还不断出现外部数据源失败,加载某某表失败,等等

请问如何在无法连通服务器时,提示一下,然后立即退出?
[此贴子已经被作者于2023/2/21 16:23:38编辑过]

--  作者:有点蓝
--  发布时间:2023/2/21 16:40:00
--  
项目属性BeforeShowErrorMessage 事件

If vars("已弹出") = False
    If e.message1.Contains("一般性网络错误") OrElse e.message1.Contains("不存在或拒绝访问") Then
      e.Cancel = True
        vars("已弹出") = True
        MessageBox.Show("数据库服务器链接失败,请点击确定退出程序后,联系管理员处理!!","温馨提示")
        Syscmd.Project.Exit()
    End If
else
    e.Cancel = True  
End If

--  作者:zhangchi96
--  发布时间:2023/2/22 8:22:00
--  
请问,是不是要设置一个全局变量 ("已弹出") ,它的值false是在哪个事件中得到的?
--  作者:有点蓝
--  发布时间:2023/2/22 8:29:00
--  
不需要设置,就直接使用上面的代码即可