private void DeleteBtn_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("是否删除此条数据", "删除数据", MessageBoxButtons.OKCancel);
            if (result == DialogResult.OK)
            {
                if (MyCM.Count > 0)
                {
                    MyCM.CancelCurrentEdit();
                    MyCM.RemoveAt(MyCM.Position);
                    MyCM.Refresh();
                    Da1.Update(MainDs);
                    
                }
            }
            else
                MessageBox.Show("表中为空,已无可删除数据", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);        }第一次删除没问题,连续删除两个或者在保存后立即点删除时,提示:违反并发性: DeleteCommand 影响了预期 1 条记录中的 0 条?错误,是怎回事?

解决方案 »

  1.   

    你需要在
    Da1.Update(MainDs);
    之后加上
    MainDs.AcceptChanges();
      

  2.   

    to 之前加上。why?
    如果在“之前加上。”,你的Update还能操作吗
      

  3.   

    to Kniget94
      
      你需要在
      Da1.Update(MainDs);
      之后加上
      MainDs.AcceptChanges();good!
      

  4.   

    保存后立即点删除时还是不行啊,违反并发性: DeleteCommand 影响了预期 1 条记录中的 0 条?我的保存如下:各位给诊诊!
            private void SaveInfo()
            {
                MyCM.EndCurrentEdit();
                if (MainDs.GetChanges() != null)
                {
                    try
                    {
                        Da1.Update(MainDs.Tables["POND_SHGBD"]);
                        MainDs.AcceptChanges();   //此行是后来加上的,加之前后都报错。                
                    }
                    catch (Exception express)
                    {
                        MessageBox.Show(express.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        MainDs.RejectChanges();
                    }
                }
                return;
            }
      

  5.   

    另外,请教各位一下,如何获取或控制CurrencyManager的当前状态?
      

  6.   

    CurrencyManager可以直接设置定位记录,
    http://blog.csdn.net/zhzuo/archive/2005/01/03/238273.aspx
      

  7.   

    同样 问题 。。to :Knight94(愚翁)  想问一下为什么会出现这种错误,想知道怎么改,同时知道出错的原理!!
      

  8.   

    to sgear还要问什么问题?
    前面不是已经说了吗,update执行语句要在acceptchanges之前调用。
      

  9.   

    已经ok了。谢谢Knight94(愚翁) 老大了,非常感谢~~