关于DataTable的merge()方法
1。合并时必须要合并的两个DataTable有主键而且相同?
2。merge()方法中的第二个参数(bool值的那个)不是太明白,msdn的解释看着迷糊。明白的详细简单明了的解释,最好给个例子吧。
3。表A和B,B=A.copy().有主键。
   然后删除B中第二条记录,新增加一条记录,将第一条记录的非主键字段的值改变一个。然后B.AcceptChanges();
   之后A.merge(B).
   那么现在A中的第一条记录、第二条记录和A中那条在B中新增加的记录的RowState分别是什么?为什么?
   A.merge(B)方法在执行合并后隐式执行了A.AcceptChanges()????

解决方案 »

  1.   

    第一个没试过不同的主键,一般都用结构相同的第二个参数的意思是两个表里面内容冲突,比如相同主键的时候,内容不一样,是保留原来的还是替换掉。Merge之后的RowState与合并前一样的,被替换掉的以替换为准
      

  2.   


    Merge只是合并数据,不管RowState。意思就是如果源表的某行合并后改变了或新增的,则该行的rowstate就是被合并的表中该行的rowstate.
    如果没有改变,则rowstate以源表中的为准!