我的存储过程标题如下: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贡献1841条经验 获得超3个赞
SqlParameter param = new SqlParameter("@dec3", SqlDbType.Decimal);
把@dec3中的@去掉试试
- 17 回答
- 0 关注
- 845 浏览
添加回答
举报
0/150
提交
取消