有心中一直有个东西不明白,在三层架构中,数据层是分开了。但是:为什么在DataView控件中有很多人用asp:SqlDataSource这个数据源呢?这样直接把SQL语句放在页面文件中,这样做有什么好处???

解决方案 »

  1.   

    ObjectDataSource适用于三层架构.
      

  2.   

    来源于MSDN
    大多数 ASP.NET 数据源控件,如 SqlDataSource,都在两层应用程序层次结构中使用。在该层次结构中,表示层(ASP.NET 网页)可以与数据层(数据库和 XML 文件等)直接进行通信。但是,常用的应用程序设计原则是,将表示层与业务逻辑相分离,而将业务逻辑封装在业务对象中。这些业务对象在表示层和数据层之间形成一层,从而生成一种三层应用程序结构。ObjectDataSource 控件通过提供一种将相关页上的数据控件绑定到中间层业务对象的方法,为三层结构提供支持。在不使用扩展代码的情况下,ObjectDataSource 使用中间层业务对象以声明方式对数据执行选择、插入、更新、删除、分页、排序、缓存和筛选操作。
    优点如楼上所说,快速,简单。几乎不需要编码~
      

  3.   

    我想问下,ObjectDataSource 这个与三层结构相违背呀。这样只一层结构了呀。所有的都混在一起了。
      

  4.   

    用ObjectDataSource还能算是三层结构吗?和ASP一样的呀?
      

  5.   


    跟数据库完全无关,因此,ObjectDataSource是以“三层”方式处理从界面到数据库的关系的。
      

  6.   

    你在ASP中使的界面与数据库完全无关,采取一个纯粹object对象的中间层吗?如果是这样的,那么你的ASP做法也是所谓的“三层”的。否则,你又是如何在ASP程序中读写数据库的呢?不过,“一层”这不可能!至少,你在讨论界面和数据库两层之间的关系,怎么可能反而搞出“一层”概念?
      

  7.   

    这个是个初学者玩的东西..实际还是用ObjectDataSource