发信人: johnnyxu() 
整理人: majorsun(2000-03-08 19:11:55), 站内信件
 | 
 
 
    当对象A以对象B的集合作为它的属性时,B又以对象C的集合作为
 它的属性,形成层次关系。为了管理B、C的集合中每一个对象,建立
 B、C的集合类,还建立数据存取类进行数据库连接和数据存取。
     VB中,数据存取类应如何将数据传给A、B、C?是一次性传回分层
 记录集,还是依次取回A、B、C的数据?A、B、C从数据存取类得到数
 据后,怎样、在哪里组装属性?在集合类中还是在类中?能否只建立一
 个数据存取类的实例,为所有A、B、C提供数据(否则要建立多个数据
 库连接)
  -- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.253.207] 发信人: leeyg (雷云沟), 信区: SystemAnalysis 标  题: Re: VB如何组装“整体-部分”关系中的“整体”对象? 发信站: 网易虚拟社区 (Sat Oct 23 13:50:53 1999), 站内信件
  【 在 johnnyxu (johnny) 的大作中提到: 】
 :     当对象A以对象B的集合作为它的属性时,B又以对象C的集合作为 
 : 它的属性,形成层次关系。为了管理B、C的集合中每一个对象,建立 
 : B、C的集合类,还建立数据存取类进行数据库连接和数据存取。 
 :     VB中,数据存取类应如何将数据传给A、B、C?是一次性传回分层 
 : 记录集,还是依次取回A、B、C的数据?A、B、C从数据存取类得到数 
 : 据后,怎样、在哪里组装属性?在集合类中还是在类中?能否只建立一 
 : 个数据存取类的实例,为所有A、B、C提供数据(否则要建立多个数据 
 : 库连接) 
 
 先让我理解一下你的问题:
 A是对象,A中有“对象B的集合”(而不是对象B的属性的集合)
 B是对象,B中有“对象C的集合”(而不是对象C的属性的集合)
 
 
 如果正确,按我的理论,应该这样:
 
 建模
 
 classA: 属性:A的属性,一个类B的已有对象数据库的表现(??,
               我不知道用什么准确的术语描述这个对象集,在
               DELPHI中,这是一个TABLE,或QUERY,或DATASET)
         方法:Get
 classB: 属性:B的属性,一个类B的已有对象数据库的表现
         方法:Get
 classC: 属性:C的属性
         方法:Get
 
 数据库的设计:
 数据库A:A的属性
 数据库B:B的属性,与A的连接字段,(连接组装,如A的ID)
 数据库C:C的属性,与B的连接字段,(连接组装,如B的ID,注意并不
          需要A的连接字段)
 
 数据存取类的存取:
 存(即备份对象):对A:A的属性存入数据库。将A中的B数据库TABLE
                        更改--如果有需要的话,注意,A中无需
                        负责B里面的C的数据库的更改,这是对象B
                        要处理的事情。
                   对B:B的属性存入数据库,将B中的C数据库TABLE
                        更改--如果有需要的话。
                   对C:C的属性存入数据库。
 取(即对象恢复):对A:从数据库A中读取各字段,从数据库B的TABLE
                        中SELECT属于本对象的B集
                           SELECT  * FROM B WHERE ID=本A对象的ID
                        注意,A中无需负责B里面的C的数据库的恢复,
                        这是对象B要处理的事情。
                   对B:从数据库B中读取各字段,从数据库C的TABLE
                        中SELECT属于本对象的C集
                           SELECT  * FROM C WHERE ID=本B对象的ID
                   对C:从数据库B中读取各字段。
 
 
 
 -- ※ 修改:.leeyg 于 Oct 23 15:56:50 修改本文.[FROM: 202.104.35.40] ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.104.35.40]
  | 
 
 
 |