首页 > 代码库 > DataSet和DataReader

DataSet和DataReader

查询结果小数据量时用DataSet,大数据量时用DataReader

【1】DataReader中的查询结果并不是放到程序中的,而是放在数据库服务器中,SqlDataReader只是相当于放了一个指针(游标),只能读取当前游标指向的行,一旦连接断开就不能再读取。这样做的好处就是无论查询结果有多少条,对程序占用的内存都几乎没有影响。SqlDataReader对于小数据量的数据来说带来的只有麻烦,优点可以忽略不计。

(1)DataReader方法一般使用while循环。reader方法,如果读到下一行数据,则返回true;并且reader本身就等于哪一行数据的值。否则false。

【2】DataSet将查询结果填充到本地内存中,这样连接断开、服务器断开都不影响数据的读取。

(2)SqlDataAdapter是DataSet和数据库之间沟通的桥梁。数据集DataSet包含若干表DataTable,DataTable包含若干行DataRow。foreach (DataRow row in dataset.Tables[0].Rows)------------ row["Name"]。

DataSet dataset = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);//SqlDataAdapter不需要手动的打开和关闭链接通道
adapter.Fill(dataset);