Filter与updatebatch混合使用实现批量更新
发布时间:2006-10-14 3:01:52   收集提供:gaoqian
/*******部分代码*******/
/*******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)    :当前所有数据***************/

 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50