在操作数据库的类中,有几个是非常重要的,SqlConnection,SqlCommand,SqlDataReader 这三个类是必须掌握且熟练的
而DataSet,DataTable,SqlDataAdapter ...这几个类相对来说不是那么重要,会用就行。
SqlDataReader是由SqlCommand对象的.ExecuteReader()返回的一个游标或者说是指针。
SqlDataReader从数据库中逐行读取数据到客服端,是连着数据库的,一旦数据库连接断开,则SqlDataReader不能读取数据而抛异常。
而DataSet可以看做是内存级别的数据库,是存在于内存中的,与数据库服务器没半点关系。只要操作完成,即使断开了连接,也不影响从中读取数据。
SqlDataReader读数据快,但是占用数据库链接通道。
DataSet虽然方便,但如果是大数据量读取,得考虑内存是否足够大,性能也没有SqlDataReader高。
所以,看情况取舍。
|