dsremote被merge到dsLocal.Tables[1]中了吧?
我只是猜的,不知道是不是这样存的

解决方案 »

  1.   

    dsremote.Tables[0].Merge(dsLocal.Tables[0]);
    试试
    再不行把两个dataset的表名改成一样的再试试,不过我还是觉得是你那第二个布尔参数闹得
      

  2.   

    1楼说的对,dsremote果然被merge到了dsLocal.Tables[1]中。倒,这怎么办呢?我想把dsremote表merge到dsLocal中,其实就像要那个RowStat2楼的方法试过了,还是不行,没变化。
      

  3.   

    其实就像要那个RowStat 你这意思是两个表结构是不一样的?
      

  4.   

    回4楼:恩,我是这样想的,想把dsremote数据merge到dsLocal中,其中dsLocal不同的数据的rowstate会变成相应的状态。然后就可以根据rowstate把插入、修改、删除的数据分出来。这样想对吗?
      

  5.   

    表结构一样的前提下
    dsRemote.datatable
    dsRemote 是dataSet不行的
    参数是:DataTable
      

  6.   

    回6楼:
          真头疼,dsRemote中的数据是从webservice返回的XMLNODE对象生成的,所以所有字段都是string类型,可我本地的数据,也就是dsLocal中的数据有其他类型。
          我想把dsRemote中的数据类型修改成相应的类型:dsLocal.Tables[0].Columns[i].DataType = a.GetType();
         可是报错说填充数据后就不能修改数据类型了,这怎么办呀?
      

  7.   


    表结构不一样只能用循环插到dsLocal中,否则就会变成dsLocal中的table【1】
      

  8.   


    如果这样,那dsLocal中的rowstate就全是添加了吧。
      

  9.   

    那就看你需要了,随便给该列赋值,你也可以判断一下dslocal里有没有,有就update否则就insert。毕竟你的表结构不一样,merge是不大可能(个人能力认为)
      

  10.   


    不是的,其实就是想得到dsremote相对于dsLocal的变化情况。
      

  11.   

    不是的,其实就是想得到dsremote相对于dsLocal的变化情况。那你就循环dsremote的每一行然后去dsLocal查找有就设状态为更新,没有就是insert/delete,这样可以么?