为了账号安全,请及时绑定邮箱和手机立即绑定

c#中 调用带输出参数output的存储过程,如何获得该返回值?

c#中 调用带输出参数output的存储过程,如何获得该返回值?

料青山看我应如是 2018-12-07 07:19:49
我的存储过程标题如下:ALTER proc [dbo].[brpbomweight] @cinvcode varchar(50), @dec3 decimal(18,6) outputas 我用以下语法可以输出值为 0.005623 declare @dec3 decimal(18,6) exec brpbomweight '1201SPE13601', @dec3 output print @dec3 我用以下C#代码,输出@dec3永远都是 0,不知道是什么原因,高人请指教   string strConn = command.Class1.cn;               SqlConnection conn = new SqlConnection(strConn);               conn.Open();               SqlCommand cmd = new SqlCommand("brpbomweight", conn);               cmd.CommandType = CommandType.StoredProcedure;               //输入参数               SqlParameter param1 = new SqlParameter("@cinvcode", SqlDbType.VarChar, 50);               param1.Value = "1201SPE13601";                             cmd.Parameters.Add(param1);                       //输出参数               SqlParameter param = new SqlParameter("@dec3", SqlDbType.Decimal);               param.Direction = ParameterDirection.Output;               cmd.Parameters.Add(param);             //执行存储过程               cmd.ExecuteNonQuery();               conn.Close();               //输出值             MessageBox.Show(param.Value.ToString());
查看完整描述

17 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

差别好像 就是rtnval.Direction = ParameterDirection.ReturnValue; 这一句,不过我改成这样子就会报错,报错的文字 是 过程或函数 'brpbomweight' 需要参数 '@dec3',但未提供该参数。

查看完整回答
反对 回复 2019-01-07
?
偶然的你

TA贡献1841条经验 获得超3个赞

SqlParameter param = new SqlParameter("@dec3", SqlDbType.Decimal);

把@dec3中的@去掉试试

查看完整回答
反对 回复 2019-01-07
?
守候你守候我

TA贡献1802条经验 获得超10个赞

去掉了也是一样

查看完整回答
反对 回复 2019-01-07
?
慕容森

TA贡献1853条经验 获得超18个赞

 数据库

查看完整回答
反对 回复 2019-01-07
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

@Snail的梦: 不行,试过了没有用

查看完整回答
反对 回复 2019-01-07
?
大话西游666

TA贡献1817条经验 获得超14个赞

@Snail的梦: 不行,试过了没有用,有没有邮箱地址发给你看你一下,谢谢

查看完整回答
反对 回复 2019-01-07
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

@zhengyingcan: sunlarylv@163.com

查看完整回答
反对 回复 2019-01-07
?
波斯汪

TA贡献1811条经验 获得超4个赞

@zhengyingcan: 我发到你邮箱了,你试试能不能行。

查看完整回答
反对 回复 2019-01-07
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

cmd.Parameters["@dec3"].Value.ToString();

试试这个

查看完整回答
反对 回复 2019-01-07
?
慕森王

TA贡献1777条经验 获得超3个赞

你确定你在你的存储过程那里对那个 @dec3 进行了 正确的 赋值操作码?

有实际上跑过那个存储过程没有?

查看完整回答
反对 回复 2019-01-07
?
子衿沉夜

TA贡献1828条经验 获得超3个赞

@zhengyingcan:  按照你的 代码的话,我当时测试的是 0.1 可能是被四舍五入了吧···

查看完整回答
反对 回复 2019-01-07
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

dbParam.Size =  

这帖子原来是,这么久了

查看完整回答
反对 回复 2019-01-07
  • 17 回答
  • 0 关注
  • 845 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信