如果数据库中有记录添加记录时不会出现错误,如果数据库中没有记录时添加记录就会出现此错误.添加代码如下:
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();
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();
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货