我在用odbc编程中,我遇到这样的情况,我的代码如下:
    pSet.Edit();
    pSet.m_Name="my name";
    pSet.m_Num=1;
    pSet.Update();
我这里更新的都是在数据库里没有的。但是为什么老是抛出这样的错误“更新或删除操作未涉及任何数据行”,请问这是为什么?

解决方案 »

  1.   

    pSet.Edit();
    只能修改存在的记录,当pSet.IsEOF()或pSet.IsBOF()为真时都有会出错
      

  2.   


        m_pSet->Edit();
    if (m_pSet->CanUpdate())
    {
          m_pSet->Update();
    }
      

  3.   

    pSet都是指向当前记录,我可以打印出当前记录的数据。楼上那位我也试过,但当运行到m_pSet->update()时还是抛出了我说的错误。
      

  4.   

    当IsEOF()或IsBOF()为真时都有会出错
      

  5.   

    同意 small_wei(small)
    必须设置记录指针的位置,根据错误提示应该是没有设定当前记录!
      

  6.   

    我可以确定地说,我的当前记录的IsEOF()或IsBOF()都不为真。
      

  7.   

    if(m_bAdding)
                   {
                        pSet.AddNew();
                        pSet.m_DutyNum=m_dutynum;
                        pSet.m_DutyName=m_dutyname;
                        pSet.Update()
                   }
                  else
                  {
                      pSet.Edit();
                      pSet.m_DutyNum=m_dutynum ;
             pSet.m_DutyName=m_dutyname;

                       if(!pSet.IsEOF())
    {
        if(!pSet.Update())
         AfxMessageBox( "Record not changed;" );
    }
           }
      

  8.   

    if(m_bAdding)
                   {
                        pSet.AddNew();
                        pSet.m_DutyNum=m_dutynum;
                        pSet.m_DutyName=m_dutyname;
                        if(pSet->CanUpdate())
                       {                    
                        pSet.Update();//少个;号
                       }
                        if(!pSet.IsEOF())
    {  
                         pSet->MoveLast();
                       }
                        pSet->Requery();
                   }
    看你的程序,如更新的都是在数据库里没有的,好象用的是这一段,