Foxtable(狐表)用户栏目专家坐堂 → 异步等待执行


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

主题:异步等待执行

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


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/18 16:29:00 [显示全部帖子]

差不多了。这种问题先测试,然后有什么具体问题再提出来。不要问行不行,对不对,这种问题基本没有什么意义

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


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/20 16:19:00 [显示全部帖子]

请上传具体实例测试

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


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/20 21:57:00 [显示全部帖子]

没看懂,请使用文字详细描述一下您的逻辑。哪些功能是需要异步处理的?

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


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/21 9:46:00 [显示全部帖子]

请描述您业务处理的逻辑,就是具体想实现什么样的功能。不是让您描述您的开发过程

如果只是处理每个编号的数据,这些编号之间没有什么相关联的,一个函数就够了,把编号数据的处理逻辑都放到Text_2函数

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


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/21 10:19:00 [显示全部帖子]

一个函数就够了

按7楼实例来说,删除Text_2函数,直接

for循环条件

  Functions.AsyncExecute("Text_1","编号|特性编号")
next


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


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/21 11:17:00 [显示全部帖子]

函数代码有问题,不过实在看不懂您的逻辑

如果按照12楼的逻辑,这样就可以了。

Dim sdt As String = Args(0)

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "SELECT * From {表C} where 合成信息 = '" & sdt & "'"
dt = cmd.ExecuteReader(True)

cmd.CommandText = "SELECT * From {APQP基本资料项目下拉} "
Dim dt2 As DataTable = cmd.ExecuteReader()

Dim fr As DataRow
For Each dr As DataRow In dt2.DataRows
    fr = dt.Find("合成信息='" & sdt & "' And 影响因素 = '" & dr("项目") & "'")
    If fr Is Nothing Then
        fr = dt.AddNew
        fr("合成信息") = sdt
        fr("影响因素") = dr("项目")
    End If
Next

dt.save

不过要注意的是,内部表不支持在异步函数中插入数据,必须使用外部数据源测试

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


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/21 11:56:00 [显示全部帖子]

我用了Text_2,BeginSyncExecute再调用,也不会有问题.  --- 您项目这个用法完全就是全部,异步完全没有起作用。和直接使用function.Execute没有任何区别

可能开的线程比较多时,才会报错  -- 那就把循环也放到异步函数里,开一个线程就可以了。

或者分批,100个编号开一个线程处理

 回到顶部