最近,一直都想搞个MIS系统,最少要做到自己认为好的。

将数据连接对象、数据层封装到DLL中,做到界面与业务类、数据操作类分离。以方便以后的系统的扩展。

 

  { Role 角色对象数据操作基类 }
  TDBRole = class (TInterfacedObject)
  protected
    FRoleTabelName : String;  //  角色表 
    FDataSource : TDataSource;
    FDataSetProvider : TDataSetProvider;
    FClientDataSet : TClientDataSet;

  public      
    constructor Create;
    destructor Destroy; override;
  end;

 

{ TDBRole }
constructor TDBRole.Create;
begin
  inherited Create;
  FDataSetProvider := TDataSetProvider.Create(nil);
  FDataSetProvider.Name := 'FDataSetProvider';
  FClientDataSet := TClientDataSet.Create(nil);

  { FClientDataSet对象的TDataSetProvider赋值,不能使用FClientDataSet.ProviderName的属值赋值,编译无错,运行将报找不到DataSetProvider对象 }
  FClientDataSet.SetProvider(FDataSetProvider);
end;

destructor TDBRole.Destroy;
begin
  FDataSource := nil;
  { 以没有数据连接,找不到数据集,所以不用再次关闭 }
  //FClientDataSet.Close;
  FClientDataSet.Free;
  FDataSetProvider.Free;
  inherited Destroy;
end;

相关文章:

  • 2022-12-23
  • 2021-06-12
  • 2022-12-23
  • 2021-06-15
  • 2021-07-11
  • 2022-12-23
  • 2021-06-04
猜你喜欢
  • 2021-11-09
  • 2021-12-23
  • 2021-12-13
  • 2021-11-21
  • 2021-12-13
相关资源
相似解决方案