Foxtable(狐表)用户栏目专家坐堂 → 异步函数


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

主题:异步函数

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
异步函数  发帖心情 Post By:2019/9/1 17:34:00 [显示全部帖子]

QQServer有三个事件和HttpRequest一样,在调用异步函数之前,需要将e参数的AsyncExcute性设置为True,保持信道不被关闭;在异步函数执行完毕之后,将e参数的Handled属性设置为True,通知系统关闭信道。

上述标示的黑色的事件在那里,我怎么没有找到?


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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2019/9/1 19:12:00 [显示全部帖子]

Select Case e.DataCol.name
    Case "楼房编号"
        If DataTables.Contains("楼房账面明细") = True Then
            e.DataRow("账面_住宅") = DataTables("楼房账面明细").SQlCompute("sum(住宅_金额)",filter1)

end if

end select

有很多类似上述黄色部分的计算代码,计算一次需要20分钟以上,能否使用异步函数计算,应该怎么修改?


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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2019/9/2 19:12:00 [显示全部帖子]

  e.DataRow("账面_住宅") = DataTables("楼房账面明细").SQlCompute("sum(住宅_金额)","楼房编号 = '" & e.datarow("") & "' and 姓名 = '" & e.datarow("姓名") & "' ”)

e.DataRow("账面_单价") = DataTables("楼房账面明细").SQlCompute("sum(住宅_单价)","楼房编号 = '" & e.datarow("") & "' and 姓名 = '" & e.datarow("姓名") & "' ”)

语句,如果要改为后台更新的,下面的语句对吗?

 

upd ate [楼房账面汇总] set 账面_住宅 = m.住宅_金额,账面_单价 = m.住宅_单价   from (sel ect sum(住宅_单价) as住宅_单价, sum(住宅_金额) as 住宅_金额 from[楼房账面明细])as  m where m.[楼房编号] = [楼房账面汇总].[楼房编号] and m.[姓名] = [楼房账面汇总].[姓名]

 

 


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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2019/9/2 19:14:00 [显示全部帖子]

e.DataRow("账面_住宅") = DataTables("楼房账面明细").SQlCompute("sum(住宅_金额)","楼房编号 = '" & e.datarow("楼房编号") & "' and 姓名 = '" & e.datarow("姓名") & "' ”)

e.DataRow("账面_单价") = DataTables("楼房账面明细").SQlCompute("sum(住宅_单价)","楼房编号 = '" & e.datarow("楼房编号") & "' and 姓名 = '" & e.datarow("姓名") & "' ”)

语句,如果要改为后台更新的,下面的语句对吗?

 

upd ate [楼房账面汇总] set 账面_住宅 = m.住宅_金额,账面_单价 = m.住宅_单价   from (sel ect sum(住宅_单价) as住宅_单价, sum(住宅_金额) as 住宅_金额 from[楼房账面明细])as  m where m.[楼房编号] = [楼房账面汇总].[楼房编号] and m.[姓名] = [楼房账面汇总].[姓名]

 


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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2019/9/2 19:16:00 [显示全部帖子]

我是  模仿类似这种:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=140074&page=3中例子写的,不知道对不对,另外没有看到在那里写数据源?


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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2019/9/2 19:16:00 [显示全部帖子]

上面的语句没有确定那个数据库?

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2019/9/3 12:00:00 [显示全部帖子]

现在是跨表更新计算,需要汇总的数据比较多,执行一条运算需要4秒左右,有10000多条数据,全部运算一次需要12个小时,真的太可怕了,用什么方法能够提高运算效率,速度快些?

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2019/9/3 12:01:00 [显示全部帖子]

11楼所说的主要计算代码如下:

e.DataRow("账面_住宅") = DataTables("楼房账面明细").SQlCompute("sum(住宅_金额)","楼房编号 = '" & e.datarow("") & "' and 姓名 = '" & e.datarow("姓名") & "' ”)

e.DataRow("账面_单价") = DataTables("楼房账面明细").SQlCompute("sum(住宅_单价)","楼房编号 = '" & e.datarow("") & "' and 姓名 = '" & e.datarow("姓名") & "' ”)


 回到顶部