C# 插入数据主键是流水账号,自动生成,怎样在插入后 获取主键ID

2024-12-13 02:50:12
推荐回答(2个)
回答1:

如果主键的流水号是自己增长的,那么你可以用select @id=@@identify的办法获取你刚插入的这个号码。你插入之后接着取,应该没问题,不会取到别人插入的id.

如果你的流水号不是自增长的,也应该用select max(id)的办法。但是这里有个技巧,你不能提前取好这个号码,然后等着操作,这样时间间隔太长,自然可能有号码的冲突,你应该在提交数据的时候,也就是insert之前,马上取,取了之后马上insert,这样号码重复的几率很低,即便有,最多程序报错,重新提交一次就行了。

回答2:

奥 这个问题你可以用 数据库的 存储过程 实现,
你让数据库 插入的时候顺便 返回主键的数据,
我给你 提供个SQL 语句 资料:select AuthorUID from inserted
这个SQL 语句 可以或得刚刚 插入的数据的 AuthorUID
换到你的 程序中 是或得你想要的数据 就行了
这个 SQL 语句 是可以准确的或得 刚刚 插入的数据的主键的,不必担心,
多数据 并发 同时 插入的,障碍。
这个SQL 语句 用到 inserted 注意是inserted 不是 insert
意思 就是 刚刚 插入的数据。呵呵 不知道满意不?