datareader和dataset区别

datareader:始终占用sqlconnection(非断开式连接),在线操作数据库时,任何对sqlconnection的操作都会引发dataReader的异常。因为datareader读取数据时只读一条,所以占用内存是很小的。由于datareader的特殊性和高性能,所以datareader  是只进的,你读第一条后就不能再去读取第一条了。

dataset 是将数据一次性加载到内存中,抛弃数据库连接(断开式连接)。读取完毕放弃数据库连接,因为dataset将数据全部加载内存中,所以比较消耗内存。但是比DataReader灵活,可以动态的添加行、列、数据。对数据库进行回传,更新操作。

原文地址:https://www.cnblogs.com/Ilin631/p/2048859.html