自定义的好像不能用update直接更新

解决方案 »

  1.   

    我还写了增加row和更改row的web service
    同样是用 sqlDataAdapter1.Update(List) 来更改数据源的
    都可以实现
    为什么唯独delete不不行呢?
      

  2.   

    在sqlDataAdapter1.Update(List);之前必须要有update的command语句!
    http://expert.csdn.net/Expert/topic/1967/1967888.xml?temp=.5014612
      

  3.   

    sqlDataAdapter1有没有与command绑定,如果有绑定的话的,
    在绑后command是不是进行了其他的操作sqlDataAdapter1绑定的command,在绑定后不能进行其他操作, 不然的话,你的sqlDataAdapter1就不生效了。
      

  4.   

    t.Rows.RemoveAt(GameID);
    ====》 sqlDataAdapter1.Update(List);
    我将上述两句改成
             t.Rows[0]["id"] = 3;
             sqlDataAdapter1.Update(List);
    就能更改数据源
    我还尝试了加一行,都没有问题
    不知道为什么唯独删除不了行???????????
      

  5.   

    我想是因为.RemoveAt() 操作是实实在在的把表中的那一行去掉了,而不是只是把那一行状态标记为DELETE,所以在使用UPDATE的时候,sqlDataAdapter无法识别到底是表中的哪一行被删掉了,所以它会什么都不会做,请你参照VS.NET的文档仔细把sqlDataAdapter看懂,我想你会找到答案的·:)
      

  6.   

    to zhongkeruanjian(鸭子):
      那我可否这样呢?
      t.Rows[GameID].Delete();
      sqlDataAdapter1.Update(List);
    先标记为delete再update
    就行了?以前我试过这样
      t.Rows[GameID].Delete();
      t.AcceptChanges();
      sqlDataAdapter1.Update(List);
    行不通。
      

  7.   

    对的,不过你自己要写UPDATECOMMAND,
    下面的
     t.Rows[GameID].Delete();
      t.AcceptChanges();
      sqlDataAdapter1.Update(List);
    绝对不行,不能t.AcceptChanges();呵呵,你自己查阅一下《ASP.NET1。0高级编程》》就知道了
      

  8.   

    我最后用sqlcommand解决了
    谢谢各位