日期:2014-05-18  浏览次数:20424 次

sqldatareader和DataSet绑定有何不同
初学.net看了网上下的青鸟视频教程,可关于数据绑定和买的书有些差异,视频上说用sqldatareader绑定,演示都是如此,而书上都是采用dataset进行绑定控件,不知二者到底有何差异,请赐教

------解决方案--------------------
sqldatareader 是读取数据的类
dataset是存储数据的类
所以先用sqldatareader读取数据,再将数据存储到dataset中
------解决方案--------------------
前者是数据流,一个一个读取,因此读取时候快,
后者数据表,直接一个表格拿来,全部读取后,再运行,翻页什么很方便,

数据表的内容多,怕太慢,用前者,
内容少,一个一个表格直接拿来用,用后者
------解决方案--------------------
sqldatareader 只读只进的轻量级组建 效率快 但是批量查询操作难

DataSet 是一次性把整个表加载 批量操作容易 但是速度慢 不推荐

b/s 结构 需要速度 还是用sqldatareader比较实惠 
c/s 结构 用少数dataset 还是可以的
------解决方案--------------------
SqlDataReader提供一种从数据库读取只进的行流的一种方式。DataGrid绑定sqldatareader数据需要先将数据转换为DataTable才可以,而DataSet表示数据在内存中的缓存。SqlDataReader的速度要比DataSet快。
SqlDataReader取得数据后必须关闭连接,否则会出现错误。