Foxtable(狐表)用户栏目专家坐堂 → [求助]代码优化


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

主题:[求助]代码优化

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


加好友 发短信
等级:幼狐 帖子:81 积分:1093 威望:0 精华:0 注册:2017/1/3 9:45:00
[求助]代码优化  发帖心情 Post By:2018/6/17 16:40:00 [只看该作者]

这段代码执行了 6分多钟,不知道要怎么样优化好一点

Dim st As Date = Date.Now '将开始时间保存在变量st中

Dim t1 As Table = Tables(eform.na  me & "_Tabl e1")  ,成品表
Dim t3 As Table = Tables(eform.na  me & "_Tab le3")  '配件表
Dim sum As Integer
Dim cmd As New SQLCo  mmand
cmd.Co  nnec  ti

For Each r1 As Row In t1.GetCheckedRows
    For Each r3 As Row In t3.GetCheckedRows
        
        
        cmd.Com mandText ="Sel  ect Coun  t(*) From {成品轨道BOM} Where 成品轨道编号 = '" & R1("成品轨道编号") & "' and 子配件编号 = '" & r3("物料编号") & "'"
        If cmd.Execu teScalar > 0
            
        Else
            Dim txt As String = "Insert Into 成品轨道BOM (成品轨道编号,子配件编号)" & _
            "Values('" & r1("成品轨道编号") & "', '" & r3("物料编号") & "')"
            cmd.CommandText = txt
            'cmd.CommandText = "Insert Into 成品轨道BOM (成品轨道编号,子配件编号) Values('" & r1("成品轨道编号") & "', '" & r3("物料编号") & "')"
            cmd.ExecuteNonQuery
            sum = sum +1
        End If
    Next
Next
MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒")
MessageBox.Show("成功导入" & sum & "条数据")


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/17 16:43:00 [只看该作者]

1、不要每一次都查询,一次查询至少要0.5秒。能不能把数据都加载出来直接find?

 

2、要用事务插入数据 http://www.foxtable.com/webhelp/scr/2933.htm

 

3、不会做请做一个实例发上来测试。


 回到顶部