【发布时间】:2014-04-11 23:21:17
【问题描述】:
简介及相关资料:
我有 MS ACCESS 2007 数据库,我使用 ADO 和 C++ 进行编辑。
问题:
我的问题是主键也代表了记录的序数,删除后应该适当更新。主键是自动编号类型。
这是我所说的一个例子:
| #PK | Other data ... |
| 1 | ... |
| 2 | ... |
| 3 | ... |
| 4 | ... |
| 5 | ... |
现在如果我删除第三条记录,我会遇到以下问题:
| #PK | Other data ... |
| 1 | ... |
| 2 | ... |
| 4 | ... |
| 5 | ... |
但我应该得到以下结果:
| #PK | Other data ... |
| 1 | ... |
| 2 | ... |
| 3 | ... | // edited to reflect the change ( previous value was 4 )
| 4 | ... | // edited to reflect the change ( previous value was 5 )
如果我删除最后一条记录,然后插入新记录,我会得到以下结果:
| #PK | Other data ... |
| 1 | ... |
| 2 | ... |
| 3 | ... |
| 4 | ... |
| 6 | ... | // this should be 5
问题:
在我执行DELETE query 之后,我有没有办法以编程方式更新自动编号字段?
编辑:
由于我知道这是一种不好的做法,我更愿意添加应该是序数的新字段,以便我的表格看起来像这样:
| #PK | Ordinal | Other data ... |
| 1 | 1 | ... |
| 2 | 2 | ... |
| 4 | 3 | ... |
| 5 | 4 | ... |
但我希望它自动更新。如果这是不可能的,我宁愿在执行删除后用SQL query 更新该字段。
谢谢。
最好的问候。
【问题讨论】:
标签: c++ sql ms-access-2007 ado