如果你不把dSet调回去,直接在这里update呢?如果你先用一个delRow把你要删除的行提取出来呢,然后再delRow.Delete();,然后再update呢?

解决方案 »

  1.   

    你这些操作只是对dataset的,他只是在内存中进行了更改,没有更新到服务器上
      

  2.   

    adapter.Update();
    dSet.AccpetChange();
      

  3.   

    谢谢各位!我还是没明白!帮我改改吧!在数据库层
    public class aaa
    {
    public DataSet ReturnDS()
    {
    SqlCommand serchcmd=new SqlCommand("SELECT * FROM fff" ,sqlConnection1);
    SqlDataAdapter adapter = new SqlDataAdapter();
    DataSet DataSet1 = new DataSet();
    adapter.Fill(DataSet1);
    return DataSet1;
    }
    }web端
    public class bbb
    {
    public void page_load()
    {
    DataSet dSet = new DataSet();
    aaa classA = new aaa();
    dSet = classA.ReturnDS();
    dSet.Table[0].Rows[0].delete();
    dSet.AccpetChange();
    }
    }
      

  4.   

    你的页面刷新一次,你的dSet就会复原一次,是吧?用ViewState或者Session
      

  5.   

    我觉得更新数据库时应该采用事务,尤其是多个表的时候就更必须了。
    我喜欢直接用DataSet的Update或Delete等方法。建议用事务。
      

  6.   

    错了!纠正以上,我不喜欢直接用DataSet的Update或Delete等方法
      

  7.   

    adapter更新数据库是需要updateCommand和DeleteCommand的支持的
    具体的例子……我手头没有合适的,建议你看看msdn
      

  8.   

    更新数据库怎么采用事务?和update有什么区别吗?
    adapter.Update()不可以吗?