DataSet,DataReader,DataTable的区别

DataSet:数据集。一般包含多个DataTable,用的时候,dataset["表名"]得到DataTable

DataTable:数据表。
一:

?View Code CSHARP
  SqlDataAdapter da=new SqlDataAdapter(cmd);  
  DataTable dt=new DataTable();  
  da.Fill(dt);

—————–
直接把数据结果放到datatable中,
二:

?View Code CSHARP
  SqlDataAdapter da=new SqlDataAdapter(cmd);  
  DataSet dt=new DataSet();  
  da.Fill(dt);

----------------
数据结果放到dataset中,若要用那个datatable,可以这样:dataset[0]
更常见的用法:

?View Code CSHARP
  SqlDataAdapter da=new SqlDataAdapter(cmd);  
  DataSet dt=new DataSet();  
  da.Fill(dt,"table1");

用的时候:这样取datatable:
dataset["table1"]

DataSet不能直接用来存储数据,如果仅用DataSet,它会自动的生成一个DataTable,所以看上去就像一个DataTable。

如果有很多个DataTable需要同时绑定到某个控件,就可以把多个DataTable添加到一个DataSet中,分别起不同的名字就可以了
DataReader基于连接,它返回的数据是只读只向前的,适合简单地浏览且耗时比较短的操作。DataSet对象会将所需数据读入内存然后断开连接。它适合对数据进行复杂长时间的操作,并且需要更新数据的情况。
Read more »

WordPress Theme Design

Free Web Hosting