Foxtable(狐表)用户栏目专家坐堂 → [求助]保存时有点慢,求助优化


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

主题:[求助]保存时有点慢,求助优化

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


加好友 发短信
等级:三尾狐 帖子:681 积分:5332 威望:0 精华:0 注册:2011/12/26 20:43:00
[求助]保存时有点慢,求助优化  发帖心情 Post By:2015/6/2 15:28:00 [只看该作者]

我有个订单表和订单明细表,在录入完数据后,我首先要判断订单明细表的编码和金额列是空的,先删除数据,然后在把订单表的当前数据ID写入到订单明细表的当前所有增加的行的ID列,下面的代码感觉很慢还会闪,求高手优化一下,谢谢!

For Each dD As DataRow In DataTables("DINGDAN").DataRows
    If dD.IsNull("JIGOU") Or dD.IsNull("CANGKU") Or dD.IsNull("GONGYS")
        MessageBox.Show("【机构】【仓库】【供应商】不能为空!","提示" )
    End If
Next
For Each dr As DataRow In DataTables("RUKU_TABLE1").DataRows
    If dr("编码") = ""  Or dr.IsNull("金额") Then
        dr.Delete()
        DataTables("dingdan").Save
        For Each dr1 As DataRow In DataTables("RUKU_TABLE1").DataRows
            If dr1.IsNull("id") Then
                dr1("id") = Tables("DINGDAN").Current("id")
            End If
        Next
        DataTables("RUKU_TABLE1").Save
    End If
Next

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/6/2 15:41:00 [只看该作者]

闪可以在代码最前面加入

talbes("表名").StopRedraw

最后加入   talbes("表名").ResumeRedraw

Save放到循环外

talbes("表名").StopRedraw
For Each dr As DataRow In DataTables("RUKU_TABLE1").DataRows
    If dr("编码") = ""  Or dr.IsNull("金额") Then
        dr.Delete()
        DataTables("dingdan").Save
        For Each dr1 As DataRow In DataTables("RUKU_TABLE1").DataRows
            If dr1.IsNull("id") Then
                dr1("id") = Tables("DINGDAN").Current("id")
            End If
        Next
        
    End If
Next

DataTables("RUKU_TABLE1").Save
talbes("表名").ResumeRedraw



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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/6/2 16:35:00 [只看该作者]

循环语句中出现:

DataTables("dingdan").Save

 

等于每次循环,都要保存一下,不可以在循环结束后再保存吗?


 回到顶部