使用 FireDac,如何在 ms sql 服务器上获取最后插入的 id?谢谢
问问题
8508 次
2 回答
5
将该 id 设为标识列,然后通过 Using 获取它
SELECT SCOPE_IDENTITY()
在插入语句之后
请参考以下链接
于 2013-04-11T13:12:35.067 回答
2
使用自增字段类型
http://www.da-soft.com/anydac/docu/Auto-Incremental_Fields.html
这将提供类似的代码
DataSet.Insert;
....
DataSet.Post;
id := DataSet.FieldByName('ID').AsInteger;
另一种方法可能是制作适当的 SQL 语句,如在
SELECT @@identity
但是所有那些带有or的事后请求SELECT SCOPE_IDENTITY
都是脆弱和危险的。当您将数据插入表 A 时,其触发器可能会将数据插入相关的表 B 和 C 中,并且标识会调用 C 的 autoinc,而不是您开始插入的表。
于 2013-04-11T12:49:32.690 回答