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

本文探讨了机房收费系统中的数据流动过程,重点分析了如何从数据库获取数据并将其展示给用户的过程。文章对比了使用DataTable和泛型集合进行数据传递的不同,并解释了为何选择后者。

总体数据流动:        

        不着重讨论三层中数据的流动,单纯分析数据库中的数据是怎么从数据库到UI层展现给用户的,一张图让你明白的“一了百了”:



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

    为什么不能用DataTable?

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

    为什么要用泛型集合?

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值