Foxtable(狐表)用户栏目专家坐堂 → 数据源连接的问题


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

主题:数据源连接的问题

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


加好友 发短信
等级:八尾狐 帖子:1938 积分:17793 威望:0 精华:0 注册:2014/7/29 19:09:00
数据源连接的问题  发帖心情 Post By:2015/1/8 15:43:00 [只看该作者]

BeforeConnectOuterDataSource写了判断网络是否能连接上的代码:

If TryConnectHost(db_IP) Then
    If Network.Ping(db_IP) = False Then
        MessageBox.Show("网络不通,请联系管理员!","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
        Syscmd.Project.Exit(False) '退出系统
    End If
End If

 

经常都要打开系统3次才能登陆,网络是正常的,是否是默认的连接判断时间太短了,tryconnectHost和

network.ping的默认的时间是多少秒连接不上就会往下执行?

如果用If Network.Ping(db_IP,5000) = False Then的话,如果网络比较顺畅也要等5秒,有点浪费时间,怎么样判断地能实现如果网络立刻连通就直接执行后面的代码,不要等5秒,如果5秒后还连接不上才提示?

 

谢谢!


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/8 15:46:00 [只看该作者]

If Network.Ping(db_IP,500) = False Then

 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1938 积分:17793 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2015/1/8 16:02:00 [只看该作者]

我现在这样写 If Network.Ping(db_IP) = False Then  系统是按多少时间来判断的叱?如果按BIN老师那样才0.5秒会不会和我现在一样,当网络可以连接只是可能连接的要慢点时就会提示并退出了。


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/8 16:07:00 [只看该作者]

默认是500 毫秒也就是0.5秒.

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/8 16:07:00 [只看该作者]

你自己可以设置合适的时间

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/8 16:18:00 [只看该作者]

 你连续ping几次不就好了?只要ping通一次,结束循环。

 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1938 积分:17793 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2015/1/8 16:32:00 [只看该作者]

谢谢!那这个有没有时间限制叱?还是0.5秒吗?

If TryConnectHost(db_IP) Then

。。。

End If

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/8 16:33:00 [只看该作者]

  没有。

 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1938 积分:17793 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2015/1/8 16:43:00 [只看该作者]

那就这样写了,是不是?

If TryConnectHost(db_IP) Then
    For i As Integer = 0 To 2
        If Network.Ping(db_IP) = False Then
            If i > 2 Then
                MessageBox.Show("网络不通,请联系管理员!")

                Syscmd.Project.Exit(False) '退出系统

                return 
            End If
        Else
            Exit For
        End If
    Next
End If

 

还有个问题为什么如果没连接上退出时桌面上还会显示“正在打开文件”的文字也要几秒才消失。退出时要怎么才能禁止运行后面的代码,上面return好象不起作用

 



 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/8 16:55:00 [只看该作者]

return 改成 e.Cancel = true,这一句不需要 Syscmd.Project.Exit(False) '退出系统

 

代码写到BeforeOpenProject事件


 回到顶部
总数 14 1 2 下一页