上一篇 | 下一篇

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

发布: 2008-6-29 23:20 | 作者: admin | 来源: | 查看: 0次

>

--------------------------------------------

假设有存储过程如下:

---------------------------------------------

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; //此处即为返回值

字号: | 推荐给好友

评分:0

我来说两句