zoukankan      html  css  js  c++  java
  • TDataSetProvider TClientDataSet 动态生成与动态连接

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

  • 相关阅读:
    沉默
    抱冰握火
    数据库原理-SQL查询语句
    简单算法的实现——集合
    团队总结
    个人作业----项目测试
    团队项目-Beta冲刺
    团队项目-Alpha版本发布1
    团队项目-----系统设计 认真不马虎队
    团队项目----需求分析 认真不马虎队
  • 原文地址:https://www.cnblogs.com/yanyyx/p/1309713.html
Copyright © 2011-2022 走看看