繁体   English   中英

访问前端,SQL Server后端跳过自动编号ID

[英]Access front-end, SQL Server back-end skipping autonumber IDs

问题标题是问题的症结所在。 我有一个带有SQL Server 2008 Express后端的Access 2007(2003格式)前端。 输入表单具有链接到另一个表的子表单。 当以主要形式添加记录时,表的PK字段(设置为自动递增)正在跳过大约四个ID(我之所以这样说是因为有时它是三个,有时是五个,有时是四个)。

例如,如果最后一个ID为1234,则新记录的ID可能为1238。

我已经遍历了代码,但是没有发现任何表明多次保存或删除的内容。 无论是否将任何记录添加到子窗体,都会出现此问题。

我意识到这可能是任何事情,但我希望有人可能对调查有一些见解或建议。

可能是表中的某些INSERT在事务中完成,然后又回滚了该事务-这会用完ID,留下空白。

检查数据库上的身份规范,以了解什么是身份增量。 它可能以大于1的间隔递增,尽管这不能解释您的奇数编号。 这是一个很好的起点。

同样,您可能会让人开始记录,然后将其删除,例如事务回滚和增量器增加。

启动sql profiler和观察器的RPC:Completed和SqlStmt:Completed事件,以查看正在执行的内容。

SQL Server不会无缘无故地跳过数字。 看起来好像正在插入某些内容并将其回滚或插入行失败。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM