nestcdsmain.pas

来自「《Delphi开发人员指南》配书原码」· PAS 代码 · 共 111 行

PAS
111
字号
unit NestCDSMain;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, DBGrids, DBTables, Db, Provider, DBClient, StdCtrls;

type
  TMainForm = class(TForm)
    CustomerCDS: TClientDataSet;
    prvCustomerOrders: TDataSetProvider;
    CustomerSource: TDataSource;
    CustomerGrid: TDBGrid;
    OrderCDS: TClientDataSet;
    OrderSource: TDataSource;
    OrderGrid: TDBGrid;
    CustomerQuerySource: TDataSource;
    ApplyUpdatesButton: TButton;
    CustomerQuery: TQuery;
    OrderQuery: TQuery;
    Database1: TDatabase;
    CustomerCDSOrderQuery: TDataSetField;
    CustomerCDSCUSTNO: TFloatField;
    CustomerCDSCOMPANY: TStringField;
    CustomerCDSADDR1: TStringField;
    CustomerCDSADDR2: TStringField;
    CustomerCDSCITY: TStringField;
    CustomerCDSSTATE: TStringField;
    CustomerCDSZIP: TStringField;
    CustomerCDSCOUNTRY: TStringField;
    CustomerCDSPHONE: TStringField;
    CustomerCDSFAX: TStringField;
    CustomerCDSTAXRATE: TFloatField;
    CustomerCDSCONTACT: TStringField;
    CustomerCDSLASTINVOICEDATE: TDateTimeField;
    CustomerQueryCUSTNO: TFloatField;
    CustomerQueryCOMPANY: TStringField;
    CustomerQueryADDR1: TStringField;
    CustomerQueryADDR2: TStringField;
    CustomerQueryCITY: TStringField;
    CustomerQuerySTATE: TStringField;
    CustomerQueryZIP: TStringField;
    CustomerQueryCOUNTRY: TStringField;
    CustomerQueryPHONE: TStringField;
    CustomerQueryFAX: TStringField;
    CustomerQueryTAXRATE: TFloatField;
    CustomerQueryCONTACT: TStringField;
    CustomerQueryLASTINVOICEDATE: TDateTimeField;
    OrderQueryORDERNO: TFloatField;
    OrderQueryCUSTNO: TFloatField;
    OrderQuerySALEDATE: TDateTimeField;
    OrderQuerySHIPDATE: TDateTimeField;
    OrderQueryEMPNO: TIntegerField;
    OrderQuerySHIPTOCONTACT: TStringField;
    OrderQuerySHIPTOADDR1: TStringField;
    OrderQuerySHIPTOADDR2: TStringField;
    OrderQuerySHIPTOCITY: TStringField;
    OrderQuerySHIPTOSTATE: TStringField;
    OrderQuerySHIPTOZIP: TStringField;
    OrderQuerySHIPTOCOUNTRY: TStringField;
    OrderQuerySHIPTOPHONE: TStringField;
    OrderQuerySHIPVIA: TStringField;
    OrderQueryPO: TStringField;
    OrderQueryTERMS: TStringField;
    OrderQueryPAYMENTMETHOD: TStringField;
    OrderQueryITEMSTOTAL: TFloatField;
    OrderQueryTAXRATE: TFloatField;
    OrderQueryFREIGHT: TFloatField;
    OrderQueryAMOUNTPAID: TFloatField;
    procedure CustomerCDSReconcileError(DataSet: TClientDataSet;
      E: EReconcileError; UpdateKind: TUpdateKind;
      var Action: TReconcileAction);
    procedure ApplyUpdatesButtonClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MainForm: TMainForm;

implementation

uses
  RecError;

{$R *.DFM}

procedure TMainForm.CustomerCDSReconcileError(DataSet: TClientDataSet;
  E: EReconcileError; UpdateKind: TUpdateKind;
  var Action: TReconcileAction);
begin
  Action:=HandleReconcileError(Dataset, UpdateKind, E);
end;

procedure TMainForm.ApplyUpdatesButtonClick(Sender: TObject);
begin
  CustomerCDS.ApplyUpdates(0);
end;

procedure TMainForm.FormCreate(Sender: TObject);
begin
  CustomerCDS.Open;
  OrderCDS.Open;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?