以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请教,网络堵塞时的报错问题?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=44635)

--  作者:ericsky
--  发布时间:2014/1/5 20:49:00
--  请教,网络堵塞时的报错问题?
最近,尝试将项目网络运行,由于网络状况不理想,当执行数据加载或保存的时候,会出现连接不上数据源库的报错。
请问:
1、应该要如何正确处理这种报错?是用NetworkAddressChanged 事件吗?
2、在狐表中执行一个加载数据的命令后,多长时间没有连接到数据源会报错?
谢谢!!

--  作者:有点甜
--  发布时间:2014/1/5 21:04:00
--  
 1、这种是无法避免的,只能去控制报错的显示 http://www.foxtable.com/help/topics/2655.htm

 2、大概45秒。你应该在执行连接数据库操作的时候,检查一下是否能连接通的。http://www.foxtable.com/help/topics/1944.htm

--  作者:ericsky
--  发布时间:2014/1/5 21:23:00
--  
谢甜老师!!再请教:
1、BeforeShowErrorMessage 事件有没有使用的例子或代码,论坛都搜索不到,我之前也尝试写了下面的代码,但无效。

Dim cmd As new  SQLCommand
cmd.C
cmd.CommandText = "Insert Into {errormessage} ([datetime],[user],[event],[message1],[message2]) Values (\'"
cmd.CommandText = cmd.CommandText & Date.now & "\',\'" & _username & "\',\'" & e.event & "\',\'" & e.message1 & "\',\'" & e.message2 & "\')"
cmd.ExecuteNonQuery

2、应该是4-5秒对吗。
另,您觉得有没有必要在每个数据库操作代码前,都先做TryConnect判断,或者是 Network.Ping判断。好像搜遍论坛或帮助都没有提到这一点,有点晕乎。

--  作者:有点甜
--  发布时间:2014/1/5 21:52:00
--  
 呃……

 第一个问题,beforeshowerrormessage,是连接出错(或者其他错)的时候执行的,既然连接出错了,你如何连接上你的数据源?最多只能把信息存在本地才对。你判断一下message的类型,如果是网络错误,特殊处理。

 第二个问题,是没有必要,只要是连不上,你在beforeshowerrormessage事件里弹出提示就行了。

--  作者:ericsky
--  发布时间:2014/1/5 21:59:00
--  
明白了,谢甜老师,我也通过google到相关的论坛帖子(论坛搜搜有字数限制),附上链接,给需要的人看看。