Foxtable(狐表)用户栏目专家坐堂 → 关于SQLJoinTableBuilder在异步函数中使用导致系统卡死的情况


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

主题:关于SQLJoinTableBuilder在异步函数中使用导致系统卡死的情况

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


加好友 发短信
等级:一尾狐 帖子:415 积分:3598 威望:0 精华:0 注册:2016/1/1 20:20:00
关于SQLJoinTableBuilder在异步函数中使用导致系统卡死的情况  发帖心情 Post By:2023/2/15 21:45:00 [只看该作者]

SQLJoinTableBuilder在同步函数中运行正常,在异步函数中运行,会导致系统卡死。
可是在高级开发指南中有说过,是可以在异步函数中使用的

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


加好友 发短信
等级:一尾狐 帖子:415 积分:3598 威望:0 精华:0 注册:2016/1/1 20:20:00
  发帖心情 Post By:2023/2/15 21:48:00 [只看该作者]

报错:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.3.29.8
错误所在事件:自定义函数getPerformanceDetail
详细错误信息:
Exception has been thrown by the target of an invocation.
Controls created on one thread cannot be parented to a control on a different thread.

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


加好友 发短信
等级:一尾狐 帖子:415 积分:3598 威望:0 精华:0 注册:2016/1/1 20:20:00
  发帖心情 Post By:2023/2/15 21:49:00 [只看该作者]

代码:

Dim DayTime As Date = #02/01/2023 00:00:01#
Dim Endtime As Date = #03/01/2023 00:00:01#
Dim shopName As String = "天行店"

Dim jb As New SQLJoinTableBuilder("业绩查询","权限设置")
jb.C
jb.AddTable("权限设置","id","零售总表","收银员ID")
jb.AddExp("收银员ID", "id",True)
jb.AddCols("账号名",True)
jb.AddExp("日", "Day(日期)",True)
jb.AddExp("业绩", "Sum(业绩)")
jb.AddExp("利润", "Sum(利润)")
jb.AddExp("营业额", "Sum(实际支付)")
jb.Filter = "日期 > '" & DayTime & "' and 日期 < '" & Endtime & "' and 支付方式 <> '' and {零售总表}.店名 = '" & shopName & "'"
jb.Distinct = True
jb.Build()
MainTable = Tables("业绩查询")

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


加好友 发短信
等级:九尾狐 帖子:2216 积分:18225 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2023/2/15 22:06:00 [只看该作者]

Dim g As New SQLGroupTableBuilder("统计表1", "订单")
g
.Groups.AddDef("日期", DateGroupEnum.Quarter, "季")
g
.Totals.AddDef("数量")
Dim
dt As DataTable = g.Build(True) ' 一定要将参数设置为True
'后续代码......

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/2/16 8:34:00 [只看该作者]

不能在异步函数中生成主表,改为4楼的用法,使用临时表

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


加好友 发短信
等级:一尾狐 帖子:415 积分:3598 威望:0 精华:0 注册:2016/1/1 20:20:00
  发帖心情 Post By:2023/2/16 9:55:00 [只看该作者]

只能改用SQLGroupTableBuilder吗,不能用SQLJoinTableBuilder吗

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


加好友 发短信
等级:一尾狐 帖子:415 积分:3598 威望:0 精华:0 注册:2016/1/1 20:20:00
  发帖心情 Post By:2023/2/16 9:57:00 [只看该作者]

还是说把最后一句改为dim tab as table = tables("业绩查询")?

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


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

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

可以使用SQLJoinTableBuilder

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


加好友 发短信
等级:一尾狐 帖子:415 积分:3598 威望:0 精华:0 注册:2016/1/1 20:20:00
  发帖心情 Post By:2023/2/16 10:01:00 [只看该作者]

好的

 回到顶部