2016-11-09 80 views
-3

有沒有辦法將插入數據的PK值選擇到SQL DB中,然後將其存儲到ASP中的會話中。 NET C#?將數據插入到SQL數據庫中並選擇PK並將其存儲到ASP.NET中的會話中C#

例如:我在數據庫中插入了一些東西。在插入過程中,我想將該PK返回給我並存儲到會話中。

+3

您是否嘗試過什麼了嗎? –

+1

有太多可能的答案,或者對於這種格式,答案太長。請添加詳細信息以縮小答案集或隔離幾個段落中可以回答的問題。 – mybirthname

回答

1

同意這是一個有點模糊的問題,但希望這會有所幫助。

假設這是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 

使用的程序和讀回結果。

+0

謝謝。 SCOPE_IDENTITY()起作用。我最終使用(int)cmd.ExecuteScalar();並返回我與PK – Kluong

0

如果該列已排序,則可以將其更改爲PK。

0

詹姆斯答案是正確的,但我想補充一點。您可以根據您的要求使用SCOPE_IDENTITY,IDENT_CURRENT@@IDENTITY

SCOPE_IDENTITY返回插入同一範圍內的IDENTITY列的最後一個IDENTITY值。

IDENT_CURRENT返回爲任何會話和任何範圍中的特定表生成的最後一個標識值。

@@IDENTITY返回在當前會話中任何表內所生成的最後一個標識值,在所有範圍

+0

的ID請upvote,如果它已經幫助你 –

相關問題