在存储过程中取得刚刚插入的记录的某个字段,将其输出,由C#接受OUTPUT返回参数

表Table_T,主键MainID为int自增,有一字段Test。要在存储过程中取得新插入记录的字段Test值,并将其输出。

获得新记录某字段有两种方法:

1、所需字段为非标识字段

 

declare @returnValue [nvarchar](50)

--向表中插入一行数据

insert into Table_T(Test) values ('Test')

--获取新插入数据行MainID

set @returnValue =(select top 1 Test from Table_T order by MainID desc)

--将MainID输出

select @returnValue Output 


2、所需字段为标识字段,使用select  IDENT_CURRENT(“表名”)

 

 

declare @returnValue [nvarchar](50)

--向表中插入一行数据

insert into Table_T(Test) values ('Test')

--获取新插入数据行MainID

set @returnValue =(select IDENT_CURRENT('Table_T'))

--将MainID输出

select @returnValue Output 


由接收OUTPUT返回值:

 

 

 cmd.Parameters.Add("@ReturnValue",SqlDbType.NVarChar,50);

 cmd.Parameters["@ReturnValue"].Direction = ParameterDirection.Output;

 cmd.ExecuteNonQuery();

 string returnValue = cmd.Parameters["@ReturnValue"].Value.ToString();

 



分享链接,获得存储过程中的返回值大总结: http://www.cnblogs.com/souso/archive/2009/09/09/1563104.html

你可能感兴趣的:(存储过程)