C#中SqlDataReader与SqlDataAdapter获取数据集有何区别


之前一直有个误区,认为SqlDataAdapter不仅占内存,还没有SqlDataReader读取快,所以优选SqlDataReader。但是昨天与主管有意见上的争议,总觉得没弄明白不太甘心。

然后就研究了一番,首先了解二者的原理:

1.SqlDataReader提供一种从数据库读取行的只进流,

   SqlDataAdapter执行数据命令和数据连接,获取表数据填充到DataSet或DataTable中

2.使用SqlDataReader循环读取,直到完全读取完才断开数据库连接;而SqlDataAdapter执行命令后就断开了

***若获取数据后需要进行非DataSet或DataTable类型转换,并且数据量大的情况下,优选SqlDataReader,因为类型转换也是耗时的,数据量 越大越明显

***若获取到数据,不需要进行一些复杂的逻辑处理,则用SqlDataAdapter

所以二者何时使用得需要考虑实际情况,数据量大的时候尤为考虑!

若有误解的地方希望提出!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM