浅谈机房收费中数据连接传递

总体数据流动:        

          不着重讨论三层中数据的流动,单纯分析数据库中的数据是怎么从数据库到UI层展现给用户的,一张图让你明白的“一了百了”:
浅谈机房收费中数据连接传递_第1张图片


 
         其中,DataSet可以看做是内存中的数据库,它时不依赖数据库的独立数据集合(即便是断开连接,或者说关闭数据库,DataSet 依然是可用的)。我理解DataTable 是DataSet 的一部分,我们通过sqlhelper(sqlconnection ,sqlcommand,datadaper)连接数据库将数据库中的数据存在DataSet 里(可以提高系统运行效率)。
          然后,可以说整个系统的数据传递在这里就可以直接连接到U层直接显示就可以了,但是我们这里没有这么做,WHY?

    为什么不能用DataTable?

    1:运用DataTable 传递数据,我们必须要了解数据库的整个结构,才能准确无误的调用我们想要找的东西,几百张表下来,,不把脑袋累的罢工。。。?
    2:DataTable 调用语句类似于  mrc.count()rows(),容易写错好吧,更可恶的是,你写错了,系统是没办法帮你识别的,后期维护累死手指头。。。
    3:说的官方点,这显然不是面向对象的编程思想,让我看到对象好吧?

    为什么要用泛型集合?

         除了解决了为什么不能用DataTable的问题之外,泛型集合通过将DataSet中的数据一条一条的传递给相应的实体类的属性里,然后放到泛型集合中,这样我们在U层调用数据显示的时候只要知道显示的是什么属性的内容就好了,根本不用管在哪行那列。

         以上是本人对于机房收费系统中数据的流动的理解,宏观理解了下,具体细节还在研究中。

你可能感兴趣的:(浅谈机房收费中数据连接传递)