join2rdm.pas

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

PAS
72
字号
unit Join2RDM;

interface

uses
  Windows, Messages, SysUtils, Classes, ComServ, ComObj, VCLCom, DataBkr,
  DBClient, Join2Serv_TLB, StdVcl, DBTables, Provider, Db, DSUSQL;

type
  TJoin2Server = class(TRemoteDataModule, IJoin2Server)
    Database1: TDatabase;
    JoinQuery: TQuery;
    JoinProvider: TProvider;
    usqlEmp: TDSUpdateSQL;
    usqlFTEmp: TDSUpdateSQL;
    JoinQueryEMPNO: TFloatField;
    JoinQueryLASTNAME: TStringField;
    JoinQueryFIRSTNAME: TStringField;
    JoinQueryHIREDATE: TDateTimeField;
    JoinQueryEMPNO_1: TFloatField;
    JoinQuerySALARY: TFloatField;
    JoinQueryVACATION: TFloatField;
    procedure JoinQueryUpdateRecord(DataSet: TDataSet;
      UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction);
  private
    { Private declarations }
  protected
    class procedure UpdateRegistry(Register: Boolean; const ClassID, ProgID: string); override;
  public
    { Public declarations }
  end;

implementation

{$R *.DFM}

class procedure TJoin2Server.UpdateRegistry(Register: Boolean; const ClassID, ProgID: string);
begin
  if Register then
  begin
    inherited UpdateRegistry(Register, ClassID, ProgID);
    EnableSocketTransport(ClassID);
    EnableWebTransport(ClassID);
  end else
  begin
    DisableSocketTransport(ClassID);
    DisableWebTransport(ClassID);
    inherited UpdateRegistry(Register, ClassID, ProgID);
  end;
end;

procedure TJoin2Server.JoinQueryUpdateRecord(DataSet: TDataSet;
  UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction);
begin
  usqlEmp.SessionName := JoinQuery.SessionName;
  usqlEmp.DatabaseName := JoinQuery.DatabaseName;
  usqlEmp.Dataset := Dataset;
  usqlEmp.Apply(UpdateKind);

  usqlFTEmp.SessionName := JoinQuery.SessionName;
  usqlFTEmp.DatabaseName := JoinQuery.DatabaseName;
  usqlFTEmp.Dataset := Dataset;
  usqlFTEmp.Apply(UpdateKind);

  UpdateAction := uaApplied;
end;

initialization
  TComponentFactory.Create(ComServer, TJoin2Server,
    Class_Join2Server, ciMultiInstance, tmApartment);
end.

⌨️ 快捷键说明

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