Filter与updatebatch混合使用实现批量更新(原创)

发表于:2007-06-30来源:作者:点击数: 标签:
/*******部分代码*******/ /*******idArr()和codeArr()为两个数组,其中,idArr()为filter数据过滤条件,codeArr()作为更新数据**********/ ....... dim CRs, sql ,FStr sql= conn.begintrans set CRs=server.CreateObject(adodb.recordset) CRs.ActiveConnec
/*******部分代码*******/
/*******idArr()和codeArr()为两个数组,其中,idArr()为filter数据过滤条件,codeArr()作为更新数据**********/
.......

  dim CRs,sql,FStr
  sql=""
  
  conn.begintrans
  set CRs=server.CreateObject("adodb.recordset")
  CRs.ActiveConnection=conn
  CRs.CursorType=1
  CRs.LockType=3
  CRs.Source="select * from MB_DCManage"
  CRs.Open

  for i=0 to ubound(codeArr)-1
    FStr="DCM_ID="&idArr(i)    @#定义数据过滤
    CRs.Filter=FStr            
    CRs("DCM_Code")=codeArr(i)
  next
  CRs.UpdateBatch(3)           @#批量更新

........

/***********避免重复的进行open操作,但是filter本身也有效率问题;应该结合事务处理;filter可进行多条件选择;updateBatch各参数-----adAffectCurrent(1):当前位置;
         adAffectGroup(2)  :符合filter的数据
         adAffterAll(3)    :当前所有数据***************/

原文转自:http://www.ltesting.net