我使用sql server express作为我的后端,并在ASP Net中通过C#插入记录。在表中。我发现只有少数记录没有保存,而其他记录保存在同一个表中。说我的自动识别列看起来像1,2,3,5,8,9,10,13等我已正确给出了身份种子。应用程序也不会丢失任何错误。
请注意我在插入记录时没有使用任何表锁。 是否需要使用表锁或可能是什么问题
对此方面的任何见解表示赞赏。
由于
答案 0 :(得分:1)
表中的记录不保证是有序的。尝试运行查询:
select *
from t
order by <auto-identity column>
此外,删除记录会在主键中创建漏洞。
答案 1 :(得分:0)
您的问题(实际上这不是问题)与锁无关。
最可能的原因是删除记录。删除记录时,添加新记录时不会填充标识中的间隙。
此外,在表中添加记录的查询可能会使用IDENTITY_INSERT ON,这允许将值插入标识列。
此外,查询结果不按标识列排序,除非它在ORDER BY
子句中指定。
无论如何,如果您认为出现了问题,可以在SQL Server Profiler
中运行跟踪,看看服务器上发生了什么。