首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

ADO+ACCESS 插入一个Key值已经存在的记录时 数据库链接就出错了~该怎么处理

2012-01-13 
ADO+ACCESS 插入一个Key值已经存在的记录时 数据库链接就出错了~~我建了个表设了一个Key“no”每次插入一个

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语句。

热点排行