zoukankan      html  css  js  c++  java
  • ADO 缓存更新

     if (ADOQuery1->UpdateStatus() == usUnmodified)   return;

     ADOQuery1->UpdateBatch(arAll);

    UpdateStatus只能判断当前记录(当前行)的状态,不能判断整个记录集的状态啊.

    ClientDataSet1控件有ChangeCount属性可以判断整个数据集的变动数。

    if( ClientDataSet1->ChangeCount)

      ClientDataSet1->ApplyUpdates(-1);

    FDQuery控件也有ChangeCount

     FDQuery1->ChangeCount;
     FDQuery1->UpdateStatus();
     FDQuery1->ApplyUpdates(-1);

    1) duplicate a record - just copy the current record to the end of the
    dataset
    
    procedure TMyADODataSet.DuplicateRecord;
      var
        r: TMyADODataSet;
        i: integer;
      begin
        if Active and not IsEmpty then begin
          r := TMyADODataSet.Create(nil);
          r.Clone(Self,ltBatchOptimistic);
          r.SetRecNo(Self.RecNo);
          Append;
          for i := 0 to Fields.Count - 1 do if Fields[i].FieldKind = fkData then
    Fields[i].Value := r.Fields[i].Value;
          r.Close;
          r.Free;
        end;
      end;
    
    2) Returns the number of pending records - to use with batchupdate mode
    
    function TMyADODataSet.GetModifiedCount: integer;
      var
        r: _RecordSet;
      begin
        if Active and (LockType = ltBatchOptimistic) then begin
          r := Recordset.Clone(adLockBatchOptimistic);
          r.Filter := adFilterPendingRecords;
          Result := r.RecordCount;
          r.Close;
        end
        else Result := -1;
      end;

    c++builder 要#include <adoint.h>

  • 相关阅读:
    【做题记录】区间排序—线段树
    【做题记录】CF1428E Carrots for Rabbits—堆的妙用
    线段树合并、分裂
    一、drf入门规范
    七、Django实战--图书管理系统搭建
    六、ORM模型层补充
    五、Django之模型层
    四、Django之模板层
    三、Django之视图层
    二、Django之路由层
  • 原文地址:https://www.cnblogs.com/cb168/p/4269275.html
Copyright © 2011-2022 走看看