如果数据库中有记录添加记录时不会出现错误,如果数据库中没有记录时添加记录就会出现此错误.添加代码如下:
void Claibin::OnJiaru() 
{
UpdateData();
m_set.AddNew();
        m_set.m_xingming=m_XingMing;
m_set.m_nianling=m_NianLing;
CString strxing;
m_XingBie.GetWindowText(strxing);
m_set.m_xingbie=strxing;
CString strfang;
m_FangJianHao.GetWindowText(strfang);
m_set.m_fangjian=strfang;
m_set.m_rijia=m_RiJia;
m_set.m_shaoshi=m_YaoShiShu;
m_ShiJian=CTime::GetCurrentTime();
m_set.m_shijian=m_ShiJian;
m_set.Update();
m_list.InsertItem(0,m_XingMing);
m_list.SetItemText(0,1,m_NianLing);
m_list.SetItemText(0,2,strxing);
m_list.SetItemText(0,3,strfang);
m_list.SetItemText(0,4,m_RiJia);
                   m_list.SetItemText(0,5,m_YaoShiShu);
CString str;
str=m_ShiJian.Format("%Y-%m-%d %H:%M:%S");
m_list.SetItemText(0,6,str);         CRecordset rs(&db);
CString strchuangwei;
        rs.Open(CRecordset::forwardOnly,"select 床位数 from 总房 where 房间号='"+strfang+"'");
        rs.GetFieldValue("床位数",strchuangwei);
CString strzhengjianming;
m_ZhengJianMingCheng.GetWindowText(strzhengjianming);
         CString strSQL;
        strSQL="insert into 总表(姓名,年龄,性别,证件名称,证件号码,单位,备注,
房间号,床位数,日价,钥匙数,入住时间)\
                  values('"
  +m_XingMing+"','"
  +m_NianLing+"','"
  +strxing+"','"
  +strzhengjianming+"','"
  +m_ZhengJianHao+"','"
  +m_DanWei+"','"
  +m_BeiZhu+"','"
  +strfang+"','"
                                      +strchuangwei+"','"
  +m_RiJia+"','"
  +m_YaoShiShu+"','"
  +str+"')";
  
db.ExecuteSQL(strSQL);
            strSQL="delete from 未用 where 未使用房间号='"+strfang+"'";
    db.ExecuteSQL(strSQL);
strSQL="insert into 已用(已使用房间号,床位数,日价)\
    values('"+strfang+"','"+strchuangwei+"','"+m_RiJia+"')";
    db.ExecuteSQL(strSQL);
int sel=m_FangJianHao.GetCurSel();
m_FangJianHao.DeleteString(sel);
rs.Close();
this->Init();