当前位置:首页
开发技术指南» 文章正文
    引言:

    摘要: <html> <body> <script type="text/javascript"> var d =new date(2005,4,1) document.write(d.getdate()) document.write(".") document.write(d.getmonth() + 1) docum......
 ·如何将text设置成为不可编辑    »显示摘要«
    摘要: 小弟实在是找不到了,请各位大虾指点一下,使用js或者直接设置text的属性都可以(最好都能告知~~)。 主要是不知道text的这个属性是啥~ 谢谢。 ......


一对多对象的类设计

背景是要操作关系数据库中的表,表A与表B是一对多关系;  
  为了实现OO   Style,设计两个类A与B相对应;但如何表现两者的一对多关系?  
  ---------------------------------------------------  
  public   class   B     //表B中Aid、Bid联合主键  
  {  
          private   int   _Aid;  
          private   int   _Bid;  
           
          public   B{}  
          ...  
  }  
   
  public   class   A  
  {  
          private   int   _Aid;  
          //private   ArrayList   _B;     ???用集合实现?  
   
          public   A{}  
          ...  
  }  
  ---------------------------------------------------  
  这样写行吗?应该如何实现并进行各种写、读数据库的操作?初学OO,最好有详细代码教我,感谢!  
 

NO.1   作者: meixiaofeng

楼主写的对,用数组表示对象集合

NO.2   作者: zhongwanli

又来晚了

NO.3   作者: thinkingforever

可以啊!把B表中的每一个字段对应B类中的一个属性,A也一样.  
  把B的对象放到ArrayList中  
  操作是在遍历ArrayList,从ArrayList读出来再转换为B,然后从属性中拿到数据再更新

NO.4   作者: mba9001

this[]

NO.5   作者: zeusvenus

帮你顶一下,thinkingforever的方法是对的.

NO.6   作者: liuzxit

A.cs  
  ==============  
  using   System;  
  using   System.Collections;  
   
  namespace   Gardener  
  {  
  public   class   A  
  {  
  private   ArrayList   _objB=new   ArrayList();  
   
  public   ArrayList   objB  
  {  
  get{return   _objB;}  
  }  
  public   A()  
  {  
  }  
   
  public   void   addB(B   obj)  
  {  
  this.objB.Add(obj);  
  }  
  }  
  }  
   
  B.cs===================  
  using   System;  
   
  namespace   Gardener  
  {  
  ///   <summary>  
  ///   Summary   description   for   B.  
  ///   </summary>  
  public   class   B  
  {  
  private   string   _title;  
   
  public   string   title  
  {  
  set{_title=value;}  
  get{return   _title;}  
  }  
   
  public   B()  
  {  
  //  
  //   TODO:   Add   constructor   logic   here  
  //  
  }  
  }  
  }  
   
   
  ============  
  .......  
  private   void   button1_Click(object   sender,   System.EventArgs   e)  
  {  
  A   clsA=new   A();  
  B   clsB=new   B();  
  clsB.title="abc";  
  clsA.addB(clsB);  
  clsB=new   B();  
  clsB.title="efg";  
  clsA.addB(clsB);  
  for(int   i=0;i<clsA.objB.Count;i++)  
  {  
  MessageBox.Show(((B)(clsA.objB[i])).title);  
  }  
  }  
  .....

NO.7   作者: ghchen

楼上详细啊

NO.8   作者: Seeko0

实际在可以使A类直接继承ArrayList这个类  
  这样A类中就有了Items的属性  
  class   A:ArrayList{  
   
  }

NO.9   作者: lionqun

也可以考虑考虑用HashTable阿,可以把B的主键作为HashTable的key  
   
  如果需要遍历相关的操作,可以考虑迭代子模式


 ·想问一个关于group by 的问题    »显示摘要«
    摘要: 有如下一个表: id, 序号, 姓名, 学历 100 1 张三 101 2 李四 103 3 王五 101 0 大专 103 0 中专 如何生成如下一个表: id, 序号, 姓名, 学历 100 1 张三 101 2 李四 大专 103 3 王五 中专 我原先想用select id,sum(序号),sum(姓名),sum(学历) group by temp group by id, 但......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE