DataTable和DataSet什么区别

你可以把DataTable和DataSet看做是数据容器,比如你查询数据库后得到一些结果,可以放到这种容器里,那你可能要问:我不用这种容器,自己读到变量或数组里也一样可以存起来啊,为什么用容器?

原因是,这种容器的功能比较强大,除了可以存数据,还可以有更大用途。举例:在一个c/s结构的桌面数据库系统里,你可以把前面存放查询结果的容器里的数据显示到你客户端界面上,用户在界面上对数据进行添加、删除、修改,你可以把用户的操作更新到容器,等用户操作完毕了,要求更新,然后你才把容器整个的数据变化更新到中心数据库,这样做的好处是什么?就是减少了数据库操作,客户端速度提高了,数据库压力减小了。

DataSet可以比作一个内存中的数据库,DataTable是一个内存中的数据表,DataSet里可以存储多个DataTable
DataSet你可以把他看成是个数据库,可以包括表,视图等。

DataTable:数据表。  
  一:  
  SqlDataAdapter   da=new   SqlDataAdapter(cmd);  
  DataTable   dt=new   DataTable();  
  da.Fill(dt);  
  -----------------  
  直接把数据结果放到datatable中,  
  二:  
  SqlDataAdapter   da=new   SqlDataAdapter(cmd);  
  DataSet   dt=new   DataSet();  
  da.Fill(dt);  
  ----------------  
  数据结果放到dataset中,若要用那个datatable,可以这样:dataset[0]  
  更常见的用法:  
  SqlDataAdapter   da=new   SqlDataAdapter(cmd);  
  DataSet   dt=new   DataSet();  
  da.Fill(dt,"table1");  
  用的时候:这样取datatable:  
  dataset["table1"]  

原文地址:https://www.cnblogs.com/rjf1979/p/1822667.html