Foxtable(狐表)用户栏目专家坐堂 → 联网状态下代码效率极低的问题


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

主题:联网状态下代码效率极低的问题

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


加好友 发短信
等级:幼狐 帖子:182 积分:1592 威望:0 精华:0 注册:2016/11/10 10:14:00
联网状态下代码效率极低的问题  发帖心情 Post By:2018/7/20 1:47:00 [只看该作者]

老师好,我遇到一个奇怪的问题,我发现下面的代码在网络通畅的时候效率极低,经常要等待十几秒时间,但是如果把WiFi关掉,处于断网状态下就会非常快,不到1秒就执行完了。于是我把代码分成7段输出耗时,观察了一下,并且跟联网时对比了一下,结果如下,单位为毫秒:

联网: 1=144, 2=0,3=5498, 4=603, 5=2280, 6=8685, 7=1814

断网: 1=153, 2=0, 3=6, 4=0, 5=1, 6=86, 7=67

可以看到,断网的时候比联网的时候效率高了不是一点点。

我这里用到的表都是本地服务器上的,现在测试软件,确切的说,本地服务器就在我现在用的电脑上,本地数据表也在我的电脑上,整个程序运行过程中即使处于联网状态也没有用到外部数据表和外部网络,但是效率竟然会差这么大。

尤其不可思议的是,第二段到第三段仅仅是在窗口中的表中新增一行,毫秒数竟然能达到5498,将近6秒钟时间,而这个过程根本就不用网络呀。

我仔细看了好几遍代码,都不知道问题出在哪里了,请老师指点一下。

 

代码如下(发代码提示错误,只能截屏了):

 


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

 


图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看

其中“L_GoodsInfo”和“L_PriceInfo”都是本地服务器上的表。


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


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

1、看看 http://www.foxtable.com/webhelp/scr/2730.htm

 

2、你表格的datarowadded是否写了什么事件代码?

 

3、你是不是有定时器?定时执行了什么代码?


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


加好友 发短信
等级:幼狐 帖子:182 积分:1592 威望:0 精华:0 注册:2016/11/10 10:14:00
  发帖心情 Post By:2018/7/20 16:56:00 [只看该作者]

1. 我关闭了,无效

2. 我的DataRowAdded, DataRowAdding里面都没有代码

3. 定时器执行代码,但与网络无关,无论开关都不影响时效。

 

但是我仔细分析后找出了问题所在,DataColChanged事件中有段代码位置不对,增加行的过程中和往单元格里写入数据的时候,会反复执行多次,造成耗时延长。

谢谢老师!


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


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

以下是引用andy-1024在2018/7/20 16:56:00的发言:

 

但是我仔细分析后找出了问题所在,DataColChanged事件中有段代码位置不对,增加行的过程中和往单元格里写入数据的时候,会反复执行多次,造成耗时延长。

谢谢老师!

 

你可以暂停事件代码触发的,参考

 

http://www.foxtable.com/webhelp/scr/2218.htm

 


 回到顶部