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;

  • 相关阅读:
    图像
    链接
    列表
    常见的文本标签
    注释有哪些作用?你会用使用注释来做什么?
    如何使用浏览器查看源代码?查看源码的快捷方式是什么?
    编辑HTML源代码
    <html>,<head>,<body>,<title>的作用
    HTML中的标签和属性
    记录Git的安装过程
  • 原文地址:https://www.cnblogs.com/yanyyx/p/1309713.html
Copyright © 2011-2022 走看看