zoukankan      html  css  js  c++  java
  • delphi利用指针,结构或component存储数据表数据

    方法一: component 释放时候有自动垃圾回收功能
    type
      TDepartMent 
    = class(TComponent)
      
    private
        FName: 
    string;
        FID: 
    string;
        FPARENT_ID: 
    string;
        FCompanyID: 
    string;
        FType: TDepartType;
        FWareID: 
    string;
        FEnabled: Boolean;
      
    public
        
    property DepartmentName: string read FName write FName;
        
    property ID: string read FID write FID;
        
    property PARENT_ID: string read FPARENT_ID write FPARENT_ID;
        
    property CompanyID: string read FCompanyID write FCompanyID;
        
    property DepartmentType: TDepartType read FType write FType;
        
    property WareID: string read FWareID write FWareID;
        
    property Enabled: Boolean read FEnabled write FEnabled;
        
    constructor Create(AOwner: TComponent); override;
      
    end;
     
     
      
    procedure LoadNodes(ParetNode: TTreeNode);
      
    var
        Node            : TTreeNode;
        CDS             : TClientDataSet;
        DepartMent      : TDepartMent;
      
    begin
        CDS :
    = TClientDataSet.Create(nil);
        CDS.XMLData :
    = ADataSet.XMLData;
        CDS.Filter :
    = 'PARENT_ID=' + '''' + TDepartMent(ParetNode.Data).ID + '''';
        CDS.Filtered :
    = False;
        CDS.Filtered :
    = True;
        
    with CDS do
        
    begin
          First;
          
    while not EOF do
          
    begin
            DepartMent :
    = TDepartMent.Create(ATree);
            DepartMent.ID :
    = FieldByName('DEPA_ID').AsString;
            DepartMent.PARENT_ID :
    = FieldByName('PARENT_ID').AsString;
            DepartMent.DepartmentName :
    = FieldByName('NAME').AsString;
            DepartMent.CompanyID :
    = FieldByName('COMP_ID').AsString;
            DepartMent.DepartmentType :
    = dtDepartment;
            DepartMent.FWareID :
    = FieldByName('WARE_EXTENDED_ID').AsString;
            Node :
    = ATree.Items.AddChild(ParetNode, DepartMent.DepartmentName);
            Node.Data :
    = DepartMent;
            
    if DepartMent.ID = OldID then
              ATree.Selected :
    = Node;
            LoadNodes(Node);
            Node.Expanded :
    = False;
            Next;
          
    end;
        
    end;
        CDS.Free;
      
    end;
  • 相关阅读:
    根本解决:由于没有远程桌面授权服务器可以提供许可证,远程会话被中断。
    通过SQLServer的数据库邮件来发送邮件
    SQLFullbackup
    vs2015 iis express启动不了及安装DotNetCore.1.0.0-VS2015Tools.Preview2失败的解决方法
    Django1.7+JQuery+Ajax集成小例子
    编译安装带ssl 模块指定版本Python
    细说IIS异常日志 — 你必须知道的功能
    7 MySQL存储过程和函数
    6 MySQL视图
    5 MySQL索引
  • 原文地址:https://www.cnblogs.com/innwin/p/1415271.html
Copyright © 2011-2022 走看看