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

SqlDataReader和DataSet
SqlDataReader和DataSet,哪个用于读取数据好点,不占内存,还能有效率.

------解决方案--------------------
用途不同,不要比较...

DataSet是必然要占内存的,而且Fill DataSet还是要靠DataReader的...
------解决方案--------------------
各有各的用法
SqlDataReader 存放的是数据库读取的数据,DataSet存放的是XML表
看需要
------解决方案--------------------
各有各的用途
根据需要选择
------解决方案--------------------
各有各的用法
SqlDataReader 存放的是数据库读取的数据,DataSet存放的是XML表
看需要
------解决方案--------------------
SqlDataReader类似SQL中的游标,它只能单向获取数据,不能后退或者定位到某处,你可以理解为“先有SqlDataReader,然后才产生了DataSet,DataSet是为了缓存从SqlDataReader中读取的数据而存在的”
------解决方案--------------------
建议楼主使用DataSet。SqlDataReader是与数据库一直保持连接的,而DataSet填充之后会断开连接,存放于内存当中。
------解决方案--------------------
DataSet不是XML,和XML没任何关洗,只不过可以序列化到XML保存而已,不要理解为你需要会XML操作才行。
其实如果你只要用一次数据,完全没必要用DataSet,但如果你数据要多次使用,使用DataSet或者DataTable就比较好了,特别是当数据要传输给其它电脑的时候,只能使用DataSet或者DataTable来传输。
------解决方案--------------------
一般来说XML起很重要的导航和存储节点作用,学C#的话两者最好都要掌握
------解决方案--------------------
combox绑定数据的时候,肯定没法使用SqlDataReader,最好用DataTable或者List<T>
------解决方案--------------------
SqldataReader 是用来存储的可执行操作 比如它能存贮SQLcommand里的SQL语句配合.read()使用


dataset就是一个装载的工具,可以用来存贮你想要存储的数据库表里的数据
我想我说的应该是对的吧
呵呵我是新手说错了高手指教下别丢我就好呵呵
------解决方案--------------------
看需要。如果你现在只想读取数据,那么DataReader是一个很好的选择,它提供了快速只读,前向访问的功能。但是如果你想对数据进行增、删、改除了用sql语句外。你可以先把DataTable记录修改外,然后再更新到数据。DataAdapter.Update()方法就可以。DataSet除了读取外,还可以增 删 改 再更新到数据库。
------解决方案--------------------
如果楼主数据量大使用DataSet。像楼上所说,SqlDataReader是与数据库一直保持连接的,而DataSet填充之后会断开连接,存放于内存当中。

但是几行数据用SqlDataReader吧。不要那么大空间。
------解决方案--------------------
探讨
各有各的用途
根据需要选择

------解决方案--------------------
大家都明白这个道理 但是用起来 都会出现问题。。。。。。