以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  网络不通提示  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=169690)

--  作者:15666282205
--  发布时间:2021/6/26 10:57:00
--  网络不通提示
老师,我看了您以前的一个回帖,关于网络不通的时候显示不通的提示,我试了下面的代码,没有什么效果,和没有代码一个样。请您指导。

代码放到:BeforeOpenProject事件
If TryConnectHost("www.baidu.com") =False
    e.Cancel = True
    e.HideSplashForm = True
    messagebox.Show("网络不通,请检查网络配置情况")
End If
[此贴子已经被作者于2021/6/26 11:03:29编辑过]

--  作者:有点蓝
--  发布时间:2021/6/26 11:31:00
--  
我断网后测试没有问题。可能弹出的提示被其它程序挡住了,关闭其它打开的程序再试试
--  作者:15666282205
--  发布时间:2021/6/26 14:14:00
--  
应该不是这个原因,因为到最后还是和没有代码一样提示数据库不能连接,联系管理员等。
--  作者:15666282205
--  发布时间:2021/6/26 14:49:00
--  
老师,我找到原因了,我有两根网线,一个通阿里云,一个是内部网,如果两根线都断了,就按代码执行;如果只断一根阿里云的,代码就不执行了,看来是判断是否有网络的代码不是很完美。如何改进一下呢?只要阿里云的不通就提示。
[此贴子已经被作者于2021/6/26 14:50:52编辑过]

--  作者:有点蓝
--  发布时间:2021/6/26 15:02:00
--  
判断阿里云服务器的域名:If TryConnectHost("www.我的域名.com") =False

或者ping阿里云服务器公网IP:http://www.foxtable.com/webhelp/topics/1401.htm

或者考虑直接判断数据库是否可以连接,使用.net的连接方式,比如

try
    Dim conn As new System.Data.SqlClient.SqlConnection("server=192.168.0.1;uid=sa;pwd=123456.;database=Test")
    conn.Open() \'打开链接
    conn.close 
    msgbox("OK")
catch ex As exception
    msgbox("无法连接数据库:" & ex.message)
End try