datareader是保持连接的,而DataSet获取数据后即断开连接 datareader是只进读取数据,已经读过的数据不能再次读取,而DataSet可以循环读取, datareader数据不可修改,而DataSet可以修改,