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>

  • 相关阅读:
    基础数据类型
    python2x与python3x区别(30个)更新中。。。
    注释
    常量
    变量
    十、SpringCloud config分布式配置中心
    九、Gateway新一代网关
    八、Hystrix断路器(下)
    八、Hystrix断路器(上)
    七、OpenFeign服务接口调用
  • 原文地址:https://www.cnblogs.com/cb168/p/4269275.html
Copyright © 2011-2022 走看看