欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » Sql随手笔记 » 正文

热门阅读

如何获取到存储过程中OutPut输出参数的值

创建时间:2012年05月28日 16:44  阅读次数:(22260)
分享到:
OutPut是一个输出参数类型,首先我们要明白OutPut类型的参数与Return值不一样。我们将存储过程中的某一个或多个参数提定为 OutPut类型,然后在存储过程内部更新这些参数,再在存储过程外部获取这些参数值就可以了。这有点类似于C#中的ref,out类型的参数。

下面我们分别以在sql中与C#中获取OutPut输出参数值各举一个简单的例子。
一,在sql中获取存储过程中OutPut输出参数值
1,先创建一个测试的存储过程:
create procedure sp_test
@ID int output,
@Name varchar(50) output
as
set @ID=1000
set @Name='.net学习网'

2,然后调用该存储过程
declare @ID int
declare @Name varchar(50)

execute sp_test @ID output,@Name output
select @ID as ID号,@Name as 姓名

执行的结果是:
ID号   姓名
1000   .net学习网

需要注意的是,在执行存储过程的时候,一定要为参数@ID与@Name指明output类型,要不然是得不到存储过程的输出值的。

二,在C#中获取存储过程中OutPut输出参数值
还是利用上面创建的sp_test,现在我们在C#中执行上面的sp_test,然后取回@ID和@Name的值。
public static void PagiNation()
{
SqlParameter[] parameters = new SqlParameter[2];

parameters[0] = new SqlParameter("@ID", SqlDbType.Int, 4);
parameters[0].Direction = ParameterDirection.Output;
parameters[1] = new SqlParameter("@Name", SqlDbType.VarChar, 50);
parameters[1].Direction = ParameterDirection.Output;

/*
执行sp_test,代码略
执行完成后parameters[0].Value就等于1000,parameters[1].Value就等于".net学习网"了。
*/
}

从上面的代码中可以看到,我们只需在传参前将对应参数的类型设置为ParameterDirection.Output,执行完sql后,再取回对应参数的value就可以了。
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 31+77=? 的结果(结果是:108)
结  果: