有人说,可以把DataSet看成数据库,而把DataTable看成表。不知这样的理解正确不
如果正确,那么:
DbDataAdapter.Fill 方法 (DataSet):MSDN
DbDataAdapter.Fill 方法 (DataTable):MSDN为什么Fill 方法 (DataSet)又是说的:在 DataSet 中添加或刷新行。既然把DataSet 看成数据库,怎么能说是在数据库中添加行呢?只能在表中添加行吧

解决方案 »

  1.   

    DataSet数据集,里面可以包含多个DataTAble,和控件绑定的datasource可以指向datatable,添加行是在datatable中
      

  2.   

    dataset相当于内存中的数据库,datatable则为表,可以向dataset添加表,就像真正的数据库一样,行操作肯定是在表级别上进行的
      

  3.   

    dataset是多个datatable的集合
    而你所说的" 在 DataSet 中添加或刷新行 " 
    查看了下MSDN的解释:
    我们是不是应该这样去理解:
    Fill():"在DataSet 中添加或刷新行。" 
    Fill()方法是根据你select查询的数据
    如果返回的受影响的行数不为0 则会为dataset创建该数据的datatable 并且存储进去
    而如果没有受影响的行 是不会创建datatable的 并且写入数据的。
      

  4.   

    请查看MSDN关于这个Fill()的备注部分。
      

  5.   

    看书,CSDN上有下
    http://download.csdn.net/detail/xuolives/2120139
      

  6.   


    我也是那么理解的。
    DataSet是一个数据集,包含很多DataTable还有,关系什么的。只能对DataTable操纵
      

  7.   

    会为dataset创建该数据的datatable?是不是这样的?那这个datatable的名称恐怕不能获取吧,
    因为Fill(DataSet, String)中的表名是源表的名称........
      

  8.   

    list<string> 和 string的关系