DataSet.Copy 方法 :
产生新的 DataSet,具有与该 DataSet 相同的结构(表架构、关系和约束)和数据。
如果两个DataSet不一样,那就复制DataTable;
DataTable.copy();
然后填充dataset。

解决方案 »

  1.   

    DataSet tempDS=srcDS.Clone();
    objDS=tempDS;你的不等長是什麽意思?
      

  2.   

    如果目標DataSet已經存在數據
    >>>
    objDS.Merge(...);//----其中有對於不兼容數據的處理
      

  3.   

    我仔细的想了一下copy应该不可以,由于我的dataset:dsA,dsB都是从DataSet继承来的,
    dsB.copy()返回的是dsB类型,不可以转成dsA型
    还有我的这两个daset中的表是等长的,但是有一个字段名不一样,我不想被源表覆盖
    该怎么办?
      

  4.   

    datatable copy可以!返回的都是DataTable,现在的问题是如何只拷贝数据,不拷贝标的结构?
      

  5.   

    如果你想把dsB中的table加到dsA中,就直接填充dsA啊,
    OleDbAdapter.Fill(dsA,"table1");
    如果你想把table中的数据放到dsA中的table中,合成一张新表。
    那就建一个新的datatable,然后填充。
      

  6.   

    倒!还是不行,DataSet.DataTable[i]属性是只读的,不可写!怎么办?帮忙啊!!
      

  7.   

    DataSet dsNew = new DataSet();
    DataTable tbAAA = (DataTable)dsOld.Tables["tbaaa"].Copy();
    DataTable tbBBB = (DataTable)dsOld.Tables["tbbbb"].Copy();
    dsNew.Tables.Add(tbAAA);
    dsNew.Tables.Add(tbBBB);
      

  8.   

    你的意思是DataAdapter可以是另外一个DataSet的Adapter马?
      

  9.   

    dsNew.Merge(dsSRC);
    可以實現的 !!!
      

  10.   

    我这里两个DataTable都是已经存在的!
      

  11.   

    昏倒,你先看看MSDN關於Merge方法的定義呢!