问题描述:
delphi+ado+sqlserver怎样在插入之后返回自增字段的值?
数据库有张表,一个字段是自增字段,一个是内容字段,如何在插入一条数据后得到新插入行的自增字段的值?
目前已知两种方式:
1、insert之后执行select top 1 fileId from table order by fileId desc,缺点是不能并行执行。所以暂不考虑。又不想使用锁表。
2、SELECT @@IDENTITY as fileId这种方式不知道在delphi中怎么取。
有其他办法么??
问题解答:
delphi里的query执行sql完毕后
再执行select @@Identity+1
然后adoquery1.fields[0].value 就是返回自增字段的值
写存储过程
insert ...
SELECT @@IDENTITY as fileId
delphi调用存储过程。