本帖最后由 wukankan52 于 2009-09-27 08:37:18 编辑

解决方案 »

  1.   

    cnn.begintrans和cnn.committrans中间,需要创建新的connection(是新的一个连接),对数据库进行操作,是否对当前的事务处理有影响?
    救助高手
      

  2.   

    不用再创建连接,你可以先做一遍循环,检查每一行的 kcckd1_lsbh 是否存在,将状态记录在一个 Boolean 数组中。
    然后启动事务,循环区分不同的状态进行更新,最后递交事务。这样性能更高。如果你当前输入的 kcckd1_lsbh 符合一定的查询条件,可以将已存在的所有 kcckd1_lsbh 一次性取得,然后第一遍循环只要在记录集中 Find,速度更快。
      

  3.   


    Cnn.BeginTrans
    For i = Row_start To Row_end
         If HaveLsbh(Cells(i, Col_lsbh)) = False Then
    Next iCnn.CommitTrans
    楼主,你看红色这里如果出错了会有什么现象?事务中间尽量不要写其它语句。不然在出错时,会提示没有活动事务。Cnn.BeginTrans
    Cnn.execute sql
    Cnn.CommitTrans