我在我的 c# 服务中调用一个用 sql server 编写的存储过程。但我一次又一次面临异常:
用户代码未处理 InvalidCastException:指定的强制转换无效
代码:
public function(Data dt)
{
con = new SqlConnection(constring);
string brand = dt.brand;
cmd = new SqlCommand("execute pro100 @brand, @check", con);
SqlParameter param = new SqlParameter("@check", SqlDbType.Int);
param.Direction = ParameterDirection.Output;
cmd.Parameters.Add("@brand", brand);
cmd.Parameters.Add(param);
con.Open();
cmd.ExecuteNonQuery();
int result = (int)cmd.Parameters["@check"].Value; // Exception is here
con.Close();
return result;
}
我的存储过程如下 这是存储过程
ALTER PROCEDURE [dbo].[pro100]
@brand varchar(20),
@check int output
as
update carlog set minex=1000 where brand=@brand;
select @check=id from carlog where brand=@brand;
return @check
有人可以提出可能的解决方案吗?