以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 老师,我有如下代码,因为记录多较多,运行时间太长,可不可以多线程 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=180179) |
-- 作者:fntfgz -- 发布时间:2022/10/4 15:31:00 -- 老师,我有如下代码,因为记录多较多,运行时间太长,可不可以多线程 老师,我有如下代码,因为记录多较多,运行时间太长,可不可以多线程,异步之类,我实在不懂,可不可以?我这样的代码不知是否适合多线程,老师参否帮改一下代码,我以后也可以慢慢研究 代码如下:For Each r As Row In Tables("未来人才_方案行").Rows Dim drs As List(Of DataRow) drs = DataTables("未来人才_专业行").Select("配置名 = \'" & r("配置名") & "\' And 批次= \'" & r("批次") & "\' And 所在页码 = \'" & r("所在页码") & "\' And 院校id= \'" & r("院校id") & "\' And 专业名称= \'" & r("专业名称") & "\'") \'找出编号为03的产品 \'Output.Show(drs.count) If drs.Count = 1 Then If r("批次") = "提前批A" Then drs(0)("学校代号") = r("学校代号") drs(0)("专业代号") = r("专业代号") drs(0)("备注") = "ok" r("备注") = "ok" Else drs(0)("学校代号") = r("院校代码") drs(0)("专业代号") = r("专业代码") drs(0)("学制") = r("学制") drs(0)("备注") = "ok" r("备注") = "ok" End If End If Next [此贴子已经被作者于2022/10/4 16:07:20编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/10/6 9:28:00 -- 1、可以先试试: 2、多线程参考:http://www.foxtable.com/mobilehelp/topics/3268.htm,注意:http://www.foxtable.com/mobilehelp/topics/277.htm(凡是在主线程中创建的对象,例如Table、Datatable,窗口及窗口控件,菜单及菜单组件,都不应该在异步函数中调用。),需要改使用使用SQLcommand跳跃sql查询数据 3、如果数据多到一定程度,可以: 1)单独做个项目,放到服务器独自运行一些费时的操作 2)使用使用SQL更新,大概这样:http://www.foxtable.com/webhelp/topics/0690.htm UPDATE {未来人才_专业行},{未来人才_方案行} SET {未来人才_专业行}.学校代号 = {未来人才_方案行}.学校代号, {未来人才_专业行}.专业代号 = {未来人才_方案行}.专业代号 ,..... WHERE {未来人才_专业行}.[配置名] = {未来人才_方案行}.[配置名] and {未来人才_专业行}.[批次] = {未来人才_方案行}.[批次] and .......... |