在存储过程中取得刚刚插入的记录的某个字段,将其输出,由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

原文地址:https://www.cnblogs.com/javawebsoa/p/3050658.html