yanyyx

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

最近,一直都想搞个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;

posted on 2008-10-13 09:48  Yanyyx  阅读(1233)  评论(0编辑  收藏  举报