在SQL数据库中插入数据,在ASP中选择PK并将其存储到会话中.净c#

本文关键字:存储 会话 选择 数据库 SQL 插入 数据 ASP PK | 更新日期: 2023-09-27 18:17:20

是否有办法将插入数据的PK值选择到sql DB中,然后将其存储到ASP上的会话中?净c#吗?

例如:我在数据库中插入了一些东西。在插入期间,我希望将那个PK返回给我并将其存储到会话中。

在SQL数据库中插入数据,在ASP中选择PK并将其存储到会话中.净c#

同意这是一个有点模糊的问题,但希望这能有所帮助。

假设这是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_IDENTITYIDENT_CURRENT@@IDENTITY

SCOPE_IDENTITY返回插入到同一作用域中的IDENTITY列中的最后一个IDENTITY值。

IDENT_CURRENT返回在任何会话和任何范围内为特定表生成的最后一个标识值。

@@IDENTITY返回当前会话中为所有范围内的任何表生成的最后一个标识值