Foxtable(狐表)用户栏目专家坐堂 → [求助] 计划管理里的代码提示超时已过期


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

主题:[求助] 计划管理里的代码提示超时已过期

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


加好友 发短信
等级:三尾狐 帖子:637 积分:7362 威望:0 精华:1 注册:2013/11/26 7:49:00
[求助] 计划管理里的代码提示超时已过期  发帖心情 Post By:2014/4/11 8:57:00 [显示全部帖子]

代码是在计划管理里的,30秒执行一次

 

Dim xinxj As String = "Provider=SQLOLEDB;Password=1UmeLz2Qy4KX;Persist Security Info=True;User ID=OpenMas8020005;Initial Catalog=OpenMas;Data Source=111.1.2.106,1433\SQLEXPRESS"


'''取接收表第一条内容

If Forms("处理数据").Opened = False Then
    If Connections.TryConnect(xinxj) = True Then   '''能链接
        If Connections.Contains("xinxj") = False    ''''不存在XINXJ数据源
            Connections.Add("xinxj",xinxj)
        End If
        Dim cmd As New SQLCommand
        Dim dt As DataTable
        cmd.C
        cmd.CommandText = "select top 1 * from Com_SmsIn_db8020005"
        dt = cmd.ExecuteReader()
        '''取接收表第一条内容
        If dt.DataRows.Count =1 Then
            Forms("处理数据").open
        End If
       
    Else
        Forms("数据源无法链接").open
        If  Connections.Contains("xinxj") = True
            connections.Delete("xinxj")                 ''''''''删除数据源
        End If
    End If
End If

[此贴子已经被作者于2014-4-11 8:58:02编辑过]

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


加好友 发短信
等级:三尾狐 帖子:637 积分:7362 威望:0 精华:1 注册:2013/11/26 7:49:00
  发帖心情 Post By:2014/4/11 9:05:00 [显示全部帖子]

可不可以设置时间,如果几秒内连接不上,就不连接了,因为连接不上会导致我程序死掉,如何修改代码让程序不会死掉

[此贴子已经被作者于2014-4-11 9:06:17编辑过]

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


加好友 发短信
等级:三尾狐 帖子:637 积分:7362 威望:0 精华:1 注册:2013/11/26 7:49:00
  发帖心情 Post By:2014/4/11 9:16:00 [显示全部帖子]

   If Connections.TryConnect(xinxj) = True Then   '''能链接
如果用了CommandTimeOut ,那我的代码里上面的这句是不是就可以省掉了,

cmd.CommandTimeOut = 20 这么写对不对, 应该写在哪句代码下面呢?

[此贴子已经被作者于2014-4-11 9:18:55编辑过]

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


加好友 发短信
等级:三尾狐 帖子:637 积分:7362 威望:0 精华:1 注册:2013/11/26 7:49:00
  发帖心情 Post By:2014/4/11 9:20:00 [显示全部帖子]

测试是否能连通,这个测试时间是多久呢?比如说可不可以指定用5秒来判断

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


加好友 发短信
等级:三尾狐 帖子:637 积分:7362 威望:0 精华:1 注册:2013/11/26 7:49:00
  发帖心情 Post By:2014/4/11 9:26:00 [显示全部帖子]

那台服务器不可以让我们PING的,这么说没办法解决了

如果用了CommandTimeOut ,那我的代码里上面的这句是不是就可以省掉了,

cmd.CommandTimeOut = 20 这么写对不对, 应该写在哪句代码下面呢?

[此贴子已经被作者于2014-4-11 9:26:25编辑过]

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


加好友 发短信
等级:三尾狐 帖子:637 积分:7362 威望:0 精华:1 注册:2013/11/26 7:49:00
  发帖心情 Post By:2014/4/11 11:37:00 [显示全部帖子]

为什么网络正常的时候,程序都能正常运行,但网络中断后,程序就像死掉一样

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


加好友 发短信
等级:三尾狐 帖子:637 积分:7362 威望:0 精华:1 注册:2013/11/26 7:49:00
  发帖心情 Post By:2014/4/11 12:19:00 [显示全部帖子]

狐狸爸爸,我测试了一下,你刚才的这段代码,用了80秒左右才判断出来连不了。为什么不是10秒钟

If Connections.Tryconnect("Provider=SQLOLEDB;Password=1UmeLz2Qy4KX;Persist Security Info=True;User ID=OpenMas8020005;Initial Catalog=OpenMas;Data Source=111.1.2.106,1433\SQLEXPRESS;Connect Timeout = 3;") =False Then
Output.Show("连不上")
Else
Output.Show("连上了")
End If

[此贴子已经被作者于2014-4-11 12:25:46编辑过]

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


加好友 发短信
等级:三尾狐 帖子:637 积分:7362 威望:0 精华:1 注册:2013/11/26 7:49:00
  发帖心情 Post By:2014/4/11 12:49:00 [显示全部帖子]

If Network.Ping("111.1.2.106:1433") Then
        Messagebox.Show("可以访问")
 Else
Messagebox.Show("不可以访问")
End If

如果网络通,可以马上弹出可以访问,但网络断时,没有弹出不可以访问,弹出了以下画面


 回到顶部