原因是,这种容器的功能比较强大,除了可以存数据,还可以有更大用途。举例:在一个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: