-1

私はこのようなSPを持っています。C#プログラムでSPから選択値を取得しようとしています

CREATE PROC sp_Dosomething
@Prefix nvarchar(2),
@Result nvarchar(8) output
AS
BEGIN
DECLARE @LastValue int
DECLARE @FirstValue int

insert into Table1(name,number) values('ssss','123')
@LastValue= @@Identity


insert into Table2(name,number) values('ssss','123')
@FirstValue = @@Identity

Select @LastValue as 'Table1Id', @FirstValue as 'Table2Id'
RETURN True
END

C#

  Response.Redirect("~/Pag1.aspx?Accountid=" + Table1Id+"&ClaimId=" + Table2Id,false);

質問:

Accountid = Table1Id  = @LastValue This is good

ClaimId= Table2Id = @FirstValue This is always zero
4

2 に答える 2

0

変数の値を使用SETまたは設定する必要があると思います。また、最後の ID 値を変更する可能性のあるトリガーがある場合にSELECT使用することもできます。SCOPE_IDENTITY

insert into Table1(name,number) values('ssss','123')
SET @LastValue= SCOPE_IDENTITY()

insert into Table2(name,number) values('ssss','123')
SET @FirstValue = SCOPE_IDENTITY()
于 2013-08-14T02:26:04.930 に答える