还是删除不掉呀,怎么回事?按照MSDN上写的也是这样。

解决方案 »

  1.   

    调用DataAdapter的Update方法前不能
    调用DataTable和DataSet的AcceptChanges
      

  2.   

    调用DataAdapter的Update方法前不能
    调用DataTable和DataSet的AcceptChangessheep2002(sheep2002) is all right!
      

  3.   

    是啊,的确是个问题!!在MSDN里也没有很好的例子!虽然说了DELETE的方法,但无从下手
      

  4.   

    myDataRow.Delete();
    DataAdapter.Update(DataSet);
    datagrid.DataBind();
    就可以看出来了,我一直这样做的
      

  5.   

    同意sheep2002(sheep2002) 的看法
    不过之前你得加多一句:
    SqlCommandBuilder Da=SqlCommandBuilder(Da)
      

  6.   

    和数据库联接后调用
    DataSet.AcceptChanges
      

  7.   

    刚巧做了这样的事,我这样是可以的!
    //记录所在位置
    int pos=this.BindingContext[dSuserGrid1,"Tuser"].Position;
    DataTable mytable = dSuserGrid1.Tables[0];
    mytable.AcceptChanges();
    //待删除的列
    DataRowCollection delrow = mytable.Rows;
    //删除列  
    delrow[pos].Delete();
    sqlDataAdapter2.Update(dSuserGrid1,"Tuser");
    dSuserGrid1是用数据适配器生成的数据集对象,然后和datagrid帮定的。
      

  8.   

    结合sheep2002(sheep2002)和 asam2183(三山) 的方法绝对可以!!
      

  9.   

    其实你单独做一个deletecommand.excutenonquery()不就可以了吗?何必过分依赖于控件呢
      

  10.   

    直接使用sqlCommand执行sql语句
    select...
    insert into...
    update...
    在数据库中改写,这样的话就很清楚程序在运行中作了什么
    不要老是依赖于微软提供的控件
      

  11.   

    同意楼上说法,对sqlDataAdapter而言,如果是多表关联的是没法用sqlDataAdapter.Update()方法是没法做到的,只有通过deletecommand.excutenonquery()才能办到!!
      

  12.   

    其实是由SqlCommandBuilder Da=SqlCommandBuilder(Da)来处理delete
    if you don't use sqlcommand