⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 valueobjectunit.pas

📁 Delphi最新三层源码(1.0),对delphi有帮助
💻 PAS
字号:
unit ValueObjectUnit;

interface

uses
  Classes, DB, DBClient, Contnrs, Variants, SysUtils, Dialogs;

type

  PTValueObject = ^TValueObject;
  TValueObject= class(TPersistent)
    private
      b_insertFlag: Boolean;
      b_updateFlag: Boolean;
      b_deleteFlag: Boolean;
      d_rowVersion: Integer;
      s_Primarykey: string;

      procedure setInsertFlag(pInsertFlag :Boolean);
      function getInsertFlag: Boolean;
      procedure setUpdateFlag(pUpdateFlag :Boolean);
      function getUpdateFlag: Boolean;
      procedure setDeleteFlag(pDeleteFlag :Boolean);
      function getDeleteFlag: Boolean;
      procedure setRowVersion(pRowVersion :Integer);
      function getRowVersion: Integer;
      procedure setPrimarykey(pPrimarykey :String);
      function getPrimarykey: String;
      
    protected
      function GetOLEData: OleVariant; virtual;
      procedure SetOLEData(Value: OleVariant); virtual;
      function GetVOObject(value: OleVariant): TValueObject; virtual; abstract;

    published
      property pInsertFlag: Boolean read getInsertFlag write setInsertFlag;
      property pUpdateFlag: Boolean read getUpdateFlag write setUpdateFlag;
      property pDeleteFlag: Boolean read getDeleteFlag write setDeleteFlag;
      property pRowVersion: Integer read getRowVersion write setRowVersion;
      property pPrimarykey: String read getPrimarykey write setPrimarykey;
      //外部接口:
      property POLEData: OleVariant read GetOLEData write SetOLEData;
  end;

implementation

procedure TValueObject.setInsertFlag(pInsertFlag :Boolean);
begin
  b_insertFlag := pInsertFlag;
  b_updateFlag := false;
  b_deleteFlag := false;
end;

function TValueObject.getInsertFlag: Boolean;
begin
  Result := b_insertFlag;
end;

procedure TValueObject.setUpdateFlag(pUpdateFlag :Boolean);
begin
  b_updateFlag := pUpdateFlag;
  b_insertFlag := false;
  b_deleteFlag := false;
end;

function  TValueObject.getUpdateFlag: Boolean;
begin
  Result := b_updateFlag;
end;

procedure TValueObject.setDeleteFlag(pDeleteFlag :Boolean);
begin
  b_deleteFlag := pDeleteFlag;
  b_insertFlag := false;
  b_updateFlag := false;
end;

function TValueObject.getDeleteFlag: Boolean;
begin
  Result := b_deleteFlag;
end;

procedure TValueObject.setRowVersion(pRowVersion :Integer);
begin
  d_rowVersion := pRowVersion;
end;

function TValueObject.getRowVersion: Integer;
begin
  Result := d_rowVersion;
end;

procedure TValueObject.setPrimarykey(pPrimarykey :String);
begin
  s_Primarykey := pPrimaryKey;
end;

function TValueObject.getPrimarykey: String;
begin
  Result := s_Primarykey;
end;

function TValueObject.GetOLEData: OleVariant;
begin
  Result := VarArrayCreate([0,2], varVariant);
  Result[0] := pInsertFlag;
  Result[1] := pUpdateFlag;
  Result[2] := pDeleteFlag;
end;

procedure TValueObject.SetOLEData(Value: OleVariant);
begin
  if VarIsArray(Value) then
  begin    pInsertFlag := Value[0];    pUpdateFlag := Value[1];    pDeleteFlag := Value[2];  end;
end;

end.






⌨️ 快捷键说明

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