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>

  • 相关阅读:
    Wix Burn:如何将32位和64位的安装包制作成一个安装包
    禁止32位安装包运行在64位操作系统上
    图片校验码
    Oracle建表命令
    npm系列
    git使用
    syslog
    hibernate配置enum枚举属性
    httpClient发送post请求
    修改ubuntu系统语言
  • 原文地址:https://www.cnblogs.com/cb168/p/4269275.html
Copyright © 2011-2022 走看看