我在程序中调用:
m_pRecordset->Delete(adAffectCurrent);
m_pRecordset->Update();两条语句后,数据库中的数据并未被真正删除,这是什么原因啊?
 
要想从数据库中彻底删除数据,我应该怎么做呢?谢谢大家指点!!

解决方案 »

  1.   

    用SQL语句删除记录。
    CString strDel;
    strDel.Format("delete * from 表名 where 索引");
    db.ExecuteSQL(strDel);  // db为CDatabase 的对象
      

  2.   

    就是用delete没错  我做的就是用delete。
      

  3.   

    你的recordset的打开方式有问题,检查一下设置
      

  4.   

    CString strDel;
    strDel.Format("delete * from 表名");
    db.ExecuteSQL(strDel);  // db为CDatabase 的对象
      

  5.   

    定义command对象cmd,
    CString sqlstr;
    sqlstr.Format("delete * from 表名 where 条件");//具体sql语句根据情况而定
    cmd->CommandText=(_bstr_t)sqlstr;
    try
    {
    cmd->Execute(NULL,NULL,adCmdText);
    }
    catch(_com_error em)
    {
    AfxMessageBox(em.ErrorMessage());
    }
      

  6.   

    可是,我有的两个access数据库 db1.mdb 和 db2.mdb 各有一个名为 test 的表和两个_ConnectionPtr 类型的变量 m_pConnection 和 m_pConnection2 和两个_RecordsetPtr类型的变量m_pRecordset 和 m_pRecordset2 各分别指向上述两个数据库中的表,现在要彻底删除两个表中的数据,用上面已知的这些参量,我该怎么做呢?  谢谢大家!!
      

  7.   

    CString strDel;
    strDel.Format("delete * from 表名");
    db.ExecuteSQL(strDel);  
      

  8.   

    delete * from table 就是全部删除了
      

  9.   

    RecordSet应该是
    实现了
    数据
    和视图的分离
    ,所以呢,
    如果想删除
    物理内存数据,就需要删除物理内存的操作,而不是视图级别的删除操作命令。
      

  10.   

    可是,我有的两个access数据库 db1.mdb 和 db2.mdb 各有一个名为 test 的表和两个_ConnectionPtr 类型的变量 m_pConnection 和 m_pConnection2 和两个_RecordsetPtr类型的变量m_pRecordset 和 m_pRecordset2 各分别指向上述两个数据库中的表,现在要彻底删除两个表中的数据,用上面已知的这些参量,我该怎么做呢?  我想问的是 我现在有两个数据库文件,各有两个同名的表,可是我该怎么确定删除那个数据库中的表呢? 或者说那个表名我应该怎么写呢?谢谢大家!!