问题如下:
有类A,类B,类C,类B是关联类。对应表A,表B,表C。如果不用面向对象的方法,一条sql语句,能返回需要的数据。
但是用面向对象的方法,先要得到对象A的集合,再对对象A用for循环遍历,在循环中得到对象B的集合,通过对象B得到对象C的集合。是否面向对象都得这样实现呢。如果每个表中符合的数据量上万的话,如何解决性能的问题。如果我做一个类D,来实现组合查询,又不是面向对象的编程了?

解决方案 »

  1.   

    拜托楼主不要用“面向对象”等太专业的名词说白了就是要在三个相关联的表中进行查询千万不要用for循环来历遍数据库,直接用SQL的select where 等语句既简单又快速,不过数据表要先设定好索引,建议上网查一下SQL语法
      

  2.   

    看了许多关于多层的技术,我也想用一下,不敢用大的工程,有一个我要是常规的方法,我周天就能搞定的小项目,来实践一下。
    看了Paul Reed写的<<使用VB和UML开发应用程序>>,我也想实践一下。但我在设计时,就遇到如何处理多个表关联查询的问题,如何在多个类中方便地实现?
    有没有这方面的有实践经验的专家来指点一下。
      

  3.   

    to  vbman2003(家人) 
    我也在想,如何不是一表一个类的话,是否又是以前的状态,感觉有点混乱(一个地方修改,相应要修改地方多)。多层是如何实现的呢?书本上的总是感觉很好,但一做总是感觉自己好笨。
      

  4.   

    to fj182(阿花)
    多层难道在实践中没有成功应用的吗?
    没有好的方法来平衡一下吗?
    我非常渴望能提高一下。
      

  5.   

    楼主有电子版的<<使用VB和UML开发应用程序>>吗,麻烦发一份给我,谢谢
      

  6.   

    忘了E-mail了.smart_soft#126.com
      

  7.   

    再问fj182(阿花)
    多层是用dll来实现,如同<<使用VB和UML开发应用程序>>中的方法,把商业层、数据访问层等做dll.
    还是在一个工程中,只是用类,生成一个exe
      

  8.   

    再问fj182(阿花)
    多层是用dll来实现,如同<<使用VB和UML开发应用程序>>中的方法,把商业层、数据访问层等做dll.
    还是在一个工程中,只是用类,生成一个exe
    -------------
    三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。所以常规下是各个层生成单独的组件。
      

  9.   

    把业务逻辑层放到dll里去,客户端访问这些dll,但客户端跟业务层交互我觉得可以变通一下,客户端依赖的是业务对象的方法而非业务对象的状态,因为维护状态无论是高层还是底层都是一件很麻烦的事情,很多外部因素都会增加系统的复杂度。
      

  10.   

    要是想讨论UML OOP,建议看一下JAVA版本的应用,HIBERNATE等。
      

  11.   

    其实在后台还是转换为SQL语句,前台用一种类似SQL语句的更多的类似OOP的语法来操作,具体你可以研究一下HIBERNATE
      

  12.   

    http://www.microsoft.com/china/msdn/archives/library/dnbda/html/BOAGag.asp
    有相关的内容。