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


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

主题:异步函数

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


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

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

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


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


加好友 发短信
等级:童狐 帖子:213 积分:2573 威望:0 精华:0 注册:2017/6/18 9:32:00
  发帖心情 Post By:2019/9/1 17:43:00 [只看该作者]

帮助往下看:

UserLogging事件为例,异步编程的时候,HttpRequest事件代码结构为:

e.AsyncExecute = True  '通知系统不要关闭信道
Functions
.AsyncExecute("函数名", e) '异步调用函数处理登录请求

 

再往下一章:QQServer异步登录示例

 

2、将QQServer的UserLoging事件代码改为:

e
.AsyncExecute = True  '通知系统不要关闭信道
Functions
.AsyncExecute("ValidateLog", e) '异步调用函数处理登录请求

 


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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望: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分钟以上,能否使用异步函数计算,应该怎么修改?


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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2019/9/1 20:17:00 [只看该作者]

异步函数只能后台统计,不能有表的操作

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


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

以下是引用kaituozhe在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分钟以上,能否使用异步函数计算,应该怎么修改?

类似这种:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=140074&page=3

直接操作后台数据

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望: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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望: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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望: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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2234 积分:15278 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2019/9/2 19:16:00 [只看该作者]

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

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


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

参考:http://www.foxtable.com/webhelp/topics/0696.htm


如果是操作后台数据,这个用法根本就不应该在表事件里处理。不要看着异步函数好像很好,就随地乱用。

 回到顶部
总数 13 1 2 下一页