以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于SQLJoinTableBuilder在异步函数中使用导致系统卡死的情况  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=185308)

--  作者:wandongliang
--  发布时间:2023/2/15 21:45:00
--  关于SQLJoinTableBuilder在异步函数中使用导致系统卡死的情况
SQLJoinTableBuilder在同步函数中运行正常,在异步函数中运行,会导致系统卡死。
可是在高级开发指南中有说过,是可以在异步函数中使用的

--  作者:wandongliang
--  发布时间: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
--  发布时间: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
--  发布时间: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
\'后续代码......

--  作者:有点蓝
--  发布时间:2023/2/16 8:34:00
--  
不能在异步函数中生成主表,改为4楼的用法,使用临时表
--  作者:wandongliang
--  发布时间:2023/2/16 9:55:00
--  
只能改用SQLGroupTableBuilder吗,不能用SQLJoinTableBuilder吗
--  作者:wandongliang
--  发布时间:2023/2/16 9:57:00
--  
还是说把最后一句改为dim tab as table = tables("业绩查询")?
--  作者:有点蓝
--  发布时间:2023/2/16 10:00:00
--  
参考:http://www.foxtable.com/webhelp/topics/1910.htm

可以使用SQLJoinTableBuilder

--  作者:wandongliang
--  发布时间:2023/2/16 10:01:00
--  
好的