在SQL数据库中插入数据,在ASP中选择PK并将其存储到会话中.净c#
本文关键字:存储 会话 选择 数据库 SQL 插入 数据 ASP PK | 更新日期: 2023-09-27 18:17:20
是否有办法将插入数据的PK值选择到sql DB中,然后将其存储到ASP上的会话中?净c#吗?
例如:我在数据库中插入了一些东西。在插入期间,我希望将那个PK返回给我并将其存储到会话中。
同意这是一个有点模糊的问题,但希望这能有所帮助。
假设这是SQL Server,可以使用scope_identity()。使用存储过程插入行,并回读值
。假设这个表
create table Foo(FooId int identity(1,1) primary key, Field varchar(50))
创建一个过程
create procedure dbo.usp_FooInsert
@fieldValue varchar(50)
as
insert into Foo(field) values(@fieldValue)
select SCOPE_IDENTITY() as InsertedFooId
go
使用该过程代替当前的插入语句并读取结果。
如果列是排序的,唯一的和int类型,您可以将其更改为PK
James的答案是正确的,但是我想补充一点。可根据需要选用SCOPE_IDENTITY
、IDENT_CURRENT
或@@IDENTITY
。
SCOPE_IDENTITY
返回插入到同一作用域中的IDENTITY列中的最后一个IDENTITY值。
IDENT_CURRENT
返回在任何会话和任何范围内为特定表生成的最后一个标识值。
@@IDENTITY
返回当前会话中为所有范围内的任何表生成的最后一个标识值