Burnett

淡定,执着......
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

SqlDataSource小议

Posted on 2006-03-14 17:34  Burnett  阅读(218)  评论(0)    收藏  举报
最初使用这个类的时候,感觉到很好用,可是后来慢慢感觉到不是这么回事,因为它屏蔽了太多的东西了,所以从MSDN看起.下面是MSDN中的部分说明.
使用 SqlDataSource 控件,可以在 ASP.NET 页中访问和操作数据,而无需直接使用 ADO.NET 类。只需提供用于连接到数据库的连接字符串,并定义使用数据的 SQL 语句或存储过程即可。在运行时,SqlDataSource 控件会自动打开数据库连接,执行 SQL 语句或存储过程,返回选定数据(如果有),然后关闭连接。 
      也就是说,SqlDataSource帮你自动完成了数据库的打开,绑定控件,关闭的操作,咋听起来,似乎不以为然,但是考虑到一个asp.net中,使用n个控件用SqlDdtaSource绑定,也就是说,加载一个页面的时候就对数据库执行了n次操作,这种消耗是巨大的.
      解决办法也很简单,就是避免使用SqlDataSoure作为主要的服务器控件绑定源.而在需要对数据库操作很多的页面,考察提取数据的共性,然后使用一条select取出来,再利用DataSet从结果中挑选出符合规则的数据.