Foxtable(狐表)用户栏目专家坐堂 → [求助]代码耗时问题


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

主题:[求助]代码耗时问题

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


加好友 发短信
等级:六尾狐 帖子:1304 积分:10534 威望:0 精华:1 注册:2018/1/20 12:40:00
[求助]代码耗时问题  发帖心情 Post By:2018/8/24 18:39:00 [只看该作者]

      为啥下面这个代码耗时需要0.9秒之久
可以如何优化呢 

       Dim sum2 As Double
        sum2 = DataTables("XMFP").Compute("Sum(当月人天)","BH =  '" & e.DataRow("BH") & "' ")
        Dim dr As DataRow = DataTables("xmzb").find("BH = '" & E.DataRow("bh") & "'")

        Dim st As Date = Date.Now

        dr("剩余") = dr("apc") - sum2
        dr("总") = dr("apc") - dr("剩余")

        MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒")


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


加好友 发短信
等级:八尾狐 帖子:1966 积分:15637 威望:0 精华:0 注册:2011/7/16 20:59:00
  发帖心情 Post By:2018/8/24 20:03:00 [只看该作者]

 Dim sum2 As Double
        sum2 = DataTables("XMFP").Compute("Sum(当月人天)","BH =  '" & e.DataRow("BH") & "' ")
        Dim dr As DataRow = DataTables("xmzb").find("BH = '" & E.DataRow("bh") & "'")

        Dim st As Date = Date.Now
if dr isnot nothing then
        dr("剩余") = dr("apc") - sum2
        dr("总") = dr("apc") - dr("剩余")
end if
 MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒")
看不出优化的可能,其中需要做Sum运算费时间,这个和你的记录数多少相关.但是若想无错运行,需要加入红笔代码

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


加好友 发短信
等级:六尾狐 帖子:1304 积分:10534 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2018/8/24 20:20:00 [只看该作者]

多谢

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


加好友 发短信
等级:超级版主 帖子:112380 积分:572162 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/24 20:30:00 [只看该作者]

如果是赋值耗时,一般是触发了其他事件,或者表达式的计算

 回到顶部