最近,一直都想搞个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;
 
                    
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号