首页 新闻 会员 周边

sqldatasource

0
[已关闭问题] 关闭于 2010-11-19 16:35

在用gridveiw显示数据时,用sqldatasource和dataset都可以与gridview绑定,请问这两者有什么区别。

870087629的主页 870087629 | 初学一级 | 园豆:170
提问于:2010-11-05 10:21
< >
分享
所有回答(3)
0

没什么区别,都是给gridview提供数据源的。

like%'远远'% | 园豆:635 (小虾三级) | 2010-11-05 11:24
0

新手,从控件入手~~~两个都是你要学的~~就像同一个地方,你可以有不同的方式到达目的地。

只是坐车很方便,要花钱,走路很环保很低碳~这个比喻不恰当~~~

路过秋天 | 园豆:4787 (老鸟四级) | 2010-11-05 15:18
0

对于快速开发而言,SqlDataSource是个不错的东西。但是他仿佛打破了传统的数据层等结构。对于一个复杂的系统可能不允许这么跨越数据层直接查询到数据库内,会使整个系统结构更糟。

SqlDataSource提供的功能不应该算是别扭,那是因为还没有转变原先采用DataSet作为数据源,依靠Adapter来填充DataSet然后依靠数据显示控件来显示数据的传统做法。
可以把DataSource控件当作是一系列Command对象的集合,你可以往里面设置多大四个Sql命令。另外还有个好处是,在VS中可以将它的ConnectionString直接设置指到你的web.config中的connectionString所设定的廉洁字符串。
使用这个控件,不需要额外的其他空间来支持。如果你使用Adapter,那还需要一个Connection对象来支持(虽然你不用显式打开链接)。

另外,DataSource控件可以直接放置在网页上,虽然他不会显示。如果要使用Adapter,DataSet这些对象,就需要打开到“组件编辑器”中来创作更好。但是有个问题,.NET2.0中的Web页类不一定是一个组件类,如果你使用了组件,你得自己在代码编辑器中新建一个构造函数,然后在构造函数中调用InitializeComponent()方法来初始化组件类。

看你如何来使用。如果只是为了显示数据,并且还可以执行一些简单的删除更新操作,DataSource类和数据显示类配合帮助你完成很多“地下操作”,你甚至不用写一句代码。如果有一个较为复杂的逻辑过程,那么还是用DataSet,你可以根据数据库中表和关系创建架构,从DataSet类派生出你的类型化的DataSet,这样更加便于编程过程中操作。现对来说,DataSource的Select方法返回支持IEnumerable接口的对象,实际上是Syste.Data.DataView对象,而且是无类型化的,也就是你需要充分了解查询语句和数据结构,才容易操纵这个DataView。而且不能像DataSet那样,可以依靠Adapter来更新到数据库。

Tester Chen | 园豆:1690 (小虾三级) | 2010-11-18 16:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册