1.DataSetDataReader的区别

ADO.NET2.0提供了两个用于检索关系数据的对象:DataSetDataReader。并且这两个对象都可以将检索的关系数据存储在内存中。在软件开发过程中经常用到这两个控件,由于这两个控件在使用和功能方面的相似,很多程序员错误地认为DataSetDataReader是可以相互替代的。这种想法是错误的,在这一小节将会讲到DataSet控件DataReader控件的区别。

■与数据库连接

DatSet 连接数据库时是非面向连接的。把表全部读到Sql中的缓冲池,并断开于数据库的连接。

Datareader 连接数据库时是面向连接的。读表时,只能向前读取,读完数据后有用户决定是否断开连接。

    处理数据速度

DataSet读取、处理速度较慢。

DataReader读取、处理速度较快。

    更新数据库

在对DataSet数据集中的数据进行更新后,可以把数据更新回原来的数据库。

在对DataReader中的数据进行更新后,没有办法进行数据库更新。  

    支持分页排序

DataSet中支持分页、动态排序等操作。

DataReader中没有分页、动态排序的功能。

     占用内存

DataSet IIS 服务器上所使用的内存较多。

DataSet IIS 服务器上所使用的内存较少。

综上所述得出DataSetDataReader有各自适用的场合。如果数据来源控件只是用来填入控件的清单成为其选项,或者数据绑定控件并不需要提供排序或分页功能的话,则应该使用 DataReader。反之,如果数据绑定控件需要提供排序或分页功能的话,则必须使用 DataSet,通过DataSet设置出来分页排序等页面面显示效果。
2.如何使用sql语句返回DataSet数据集

使用sql命令语句的方式来返回数据集。使用sql命令语句把从数据库中检索出来的信息保存在DataSet数据集中。实例代码如下所示。


string sConnectionString; //声明一个字符串

//连接数据库字符串

sConnectionString = " Data Source=.;Initial Catalog=XBMIS;User ID=sa; ";

//创建SqlConnection数据库连接对象

SqlConnection Conn = new SqlConnection(sConnectionString);

//创建SqlDataAdapter对象adapterConn是数据库连接字符串

SqlDataAdapter adapter = new SqlDataAdapter("Select * From T_LunWZhT", Conn);

DataSet ds = new DataSet();

adapter.Fill(ds);

//关闭数据库连接函数

GridView3.DataSource = ds.Tables[0];

GridView3.DataBind();

posted on 2008-03-14 10:36  金金  阅读(588)  评论(0编辑  收藏  举报