读书人

ADO+ACCESS 插入一个Key值已经存在的记

发布时间: 2012-01-13 22:43:30 作者: rapoo

ADO+ACCESS 插入一个Key值已经存在的记录时 数据库链接就出错了~~
我建了个表 设了一个Key “no”
每次插入一个重复的no记录后数据库就报错了~~
下面是添加记录的操作~
try
{//把对话框中的记录传递到记录集中
m_pRecordset-> AddNew();
m_pRecordset-> PutCollect( "no ",_variant_t(dlg.m_no));
m_pRecordset-> PutCollect( "class ",_variant_t(dlg.m_class));
m_pRecordset-> PutCollect( "name ",_variant_t(dlg.m_name));
m_pRecordset-> PutCollect( "sex ",_variant_t(dlg.m_sex));

m_pRecordset-> Update();//把新的记录存在数据源里
m_pRecordset-> MoveLast();
}
catch(_com_error e)
{
MessageBox( "失败 ");
return;
}



[解决办法]
主键冲突了

当然报错了,不报错反而不对了,呵呵
[解决办法]
你先select一下, where no=??
有记录就不插,没记录就插
[解决办法]
上面是一种方法;

还有一种方法就是捕获操作返回值,然后判断错误代码,如果遇到主键冲突就向用户提示错误信息,用户更改后,重新执行SQL语句。

读书人网 >VC/MFC

热点推荐