程序使用VC+ADO一个已经存在的数据集,我想在其中添加新的记录(AddNew),可能遇到的异常情况是原有数据集中可能存在相同关键字的记录,也就是AddNew以后Update会报出异常,请问我如何能够在一个函数内实现这个功能呢?顺带说一下我目前的做法,可能比较笨,希望能得到您的指点:
保留新的数据记录各个字段的取值,按照表的关键字段和取值查询目标表,如果存在这样的记录,就首先删除存在的记录,然后再使用AddNew、Update。这样子确实效率很低,尤其新加的数据记录很多的时候,毕竟要超作2次数据库,有没有其他办法呢?
保留新的数据记录各个字段的取值,按照表的关键字段和取值查询目标表,如果存在这样的记录,就首先删除存在的记录,然后再使用AddNew、Update。这样子确实效率很低,尤其新加的数据记录很多的时候,毕竟要超作2次数据库,有没有其他办法呢?
数据库中设置成主键后,相同主键update不会执行成功,在try、catch中捕获异常,如果是重复主键异常,删除当前记录,再插入。
如果是小部分重复主键记录,大部分记录只需一次数据库操作。
有两个函数:
CheckRecord():检查目标数据集是否有重复关键字记录,有则删除
AddNewRecord():在上一步骤以后执行,没有重复关键字,就不会有异常报出
这么长时间吧?