ado.net获取存储过程的返回值

资讯 驱动中国 rocket 2,961 次阅读 0 条评论
分享 Q

--------------------------------------------
假设有存储过程如下:
---------------------------------------------

CREATE proc sp_uptmp @tmpName varchar(50),@srcPos varchar(255)
as

Begin TRAN
     insert into t_template values(@tmpName,@srcPos)
COMMIT 

return isnull(@@identity,0)
GO


------------------------------------------------------------
在 ado.net 里面获取返回值的方法为(c#):
------------------------------------------------------------
   SqlConnection dbconn = new SqlConnection(connStr);
   SqlCommand cmd = new SqlCommand("sp_uptmp",dbconn);
   cmd.CommandType = CommandType.StoredProcedure;

   SqlParameter tmpName = cmd.Parameters.Add("@tmpName",SqlDbType.VarChar);
   SqlParameter srcPos = _cmd.Parameters.Add("@srcPos",SqlDbType.VarChar);
   SqlParameter rtnval = cmd.Parameters.Add("rval",SqlDbType.Int);

   tmpName.Direction = ParameterDirection.Input;
   srcPos.Direction = ParameterDirection.Input;
   rtnval.Direction = ParameterDirection.ReturnValue;

   tmpName.Value = "";
   srcPos.Value = "";
   dbconn.Open();
   cmd.ExecuteNonQuery();
   dbconn.Close();

   tmpid = (int)rtnval.Value;  //此处即为返回值

返回 过程 存储 获取 @srcPos @tmpName S
版权声明:本文由驱动中国整理发布,转载需注明出处与原文链接。如有疑问请联系 editor@qudong.com
本文价值 成为第一个评分的人
登录后为本文打分
网友评论0 条评论
正在回复 的评论取消
评论加载中…
🔐

登录后参与互动

评论、点赞均可赚积分
连续签到、邀请好友也有奖励 🎁

电脑端: 微信扫码登录 微信内: 一键登录

微信扫一扫

打开微信「扫一扫」,分享本文到朋友圈或好友