请教access两个相同字段数据时,提示不能重复录入
时间:2011-12-08
来源:互联网
字段1(user) 字段2 (Time) 字段3(data)
s1 2011-10-8 6:00 88 //A
s2 2011-5-6 90 //B
s1 2011-10-8 6:00 //C
这样C行字段1和A行的相同,而且字段2的数据也是相同的,这样C行就不能写入,
在c++里面应该怎么写那 ?请指教。。。谢谢
作者: slshelly 发布时间: 2011-12-08
作者: ACMAIN_CHM 发布时间: 2011-12-08
作者: wwwwb 发布时间: 2011-12-08
USER_ID 是字段1,也是主键,如果m_UserID写入时,前面已经存在这个值,执行到m_pRecordset->PutCollect ("USER_ID",(_bstr_t)pAddUserDlg.m_UserID);这一句时,直接进入了catch(...)。但是我不想进入catch,而是想在在m_pRecordset->PutCollect 之前判断一下有无重复,没有再写入,有重复就不写入了,该怎么做那?谢谢!
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
_bstr_t sql;
sql = "select* from userinfo order by USER_ID desc";
//sql.Format("select* from employees");
_RecordsetPtr m_pRecordset;
m_pRecordset = m_AdoConn.GetRecordSet(sql);
try
{
m_pRecordset->AddNew ();
m_pRecordset->PutCollect ("USER_ID",(_bstr_t)pAddUserDlg.m_UserID);
m_pRecordset->PutCollect ("USER_NAME",(_bstr_t)pAddUserDlg.m_UserName );
m_pRecordset->PutCollect ("MEMO",(_bstr_t)pAddUserDlg.m_Remark);
m_pRecordset->Update ();
m_AdoConn.ExitConnect ();
}
catch(...)
{
MessageBox("操作失败");
return;
}
作者: slshelly 发布时间: 2011-12-08
if ss>0 then
重复
end if
作者: wwwwb 发布时间: 2011-12-08
作者: ACMAIN_CHM 发布时间: 2011-12-08
引用设置主键后,有重复的会弹出异常,该怎么办?这不是你自己代码中的处理吗? 你自己MessageBox("操作失败");的啊!
呵呵,我的意思是怎么在这之前判断一下。
作者: slshelly 发布时间: 2011-12-08
然后判断是否有记录返回,
作者: ACMAIN_CHM 发布时间: 2011-12-08
sql = “select count(*) as ss from userinfo where id=xxxxx and Time=xxxxxx order by USER_ID desc”
m_pConnection->Execute(sql ,NULL,adCmdText);
if(ss>0 )
{
//重复
}
else
{
//添加
}
作者: slshelly 发布时间: 2011-12-08
作者: ACMAIN_CHM 发布时间: 2011-12-08
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28