DataReader 使用时始终占用 SqlConnection,在线操作数据库,每次只在内存中加载一条数据,所以占用的内存是很小的。是只进的、 只读的。
DataSet 则是将数据一次性加载在内存中。抛弃数据库连接读取完毕即放弃数据库连接(非连接模式)。
DataSet 将数据全部加载在内存中。所以比较消耗内存,但是却比 DataReader 要灵活。可以动态的添加行、列、数据对数据库进行回传更新操作(动态操作读入到内存的数据)。