我的代码大概是这样的:
basicset.Open();
 basicset.AddNew();
...对新记录赋值
if(!basicset.Requery())
{
AfxMessageBox("Requery failed");
}
basicset.Update();
basicset.Close();
运行总是出现“更新或者删除的企图失败了”的对话框,请教大家,谢谢!

解决方案 »

  1.   

    应该先更新,再进行其他操作:
    basicset.Update();
    if(!basicset.Requery())
    {
    AfxMessageBox("Requery failed");
    }
    basicset.Close();
      

  2.   

    嗯,同意楼上的说法!你也可以通过SQL语句真接插入:
    CString strSQL="insert into strTableName (field1,.....) values (.......)";
    然后用CDatabase::ExecuteSQL(strSQL);
      

  3.   


    basicset.Open();
    basicset.AddNew();
    ...对新记录赋值
    basicset.Update(); //如果Update()成功,则记录已添加
    basicset.m_strFilter.Format("select * from TableName");
    if(!basicset.Requery())
    {
    AfxMessageBox("Requery failed");
    }
    basicset.Close();
      

  4.   

    basicset.AddNew();这是增加的代码,而你的更新