将数据插入到SQL数据库中并选择PK并将其存储到ASP.NET中的会话中C#
有没有办法将插入数据的PK值选择到SQL DB中,然后将其存储到ASP中的会话中。 NET C#?将数据插入到SQL数据库中并选择PK并将其存储到ASP.NET中的会话中C#
例如:我在数据库中插入了一些东西。在插入过程中,我想将该PK返回给我并存储到会话中。
同意这是一个有点模糊的问题,但希望这会有所帮助。
假设这是SQL Server,可以使用scope_identity()。使用存储过程插入该行,然后回读值
例如,假设这台
create table Foo(FooId int identity(1,1) primary key, Field varchar(50))
取代当前的INSERT语句创建一个过程
create procedure dbo.usp_FooInsert
@fieldValue varchar(50)
as
insert into Foo(field) values(@fieldValue)
select SCOPE_IDENTITY() as InsertedFooId
go
使用的程序和读回结果。
谢谢。 SCOPE_IDENTITY()起作用。我最终使用(int)cmd.ExecuteScalar();并返回我与PK – Kluong
如果该列已排序,则可以将其更改为PK。
詹姆斯答案是正确的,但我想补充一点。您可以根据您的要求使用SCOPE_IDENTITY
,IDENT_CURRENT
或@@IDENTITY
。
SCOPE_IDENTITY
返回插入同一范围内的IDENTITY列的最后一个IDENTITY值。
IDENT_CURRENT
返回为任何会话和任何范围中的特定表生成的最后一个标识值。
@@IDENTITY
返回在当前会话中任何表内所生成的最后一个标识值,在所有范围
的ID请upvote,如果它已经帮助你 –
您是否尝试过什么了吗? –
有太多可能的答案,或者对于这种格式,答案太长。请添加详细信息以缩小答案集或隔离几个段落中可以回答的问题。 – mybirthname