存储过程中需要输出参数值如下
@AchieveBonus decimal(18,2) output
代码中也是用decimal接收,需特别注意的是:必须要设置输出参数的长度及小数位,即要单独设置数据库中的18和2。
public decimal GetAchievementBonusByUId()
{
SqlParameter[] param = {
new SqlParameter("@AchieveBonus", SqlDbType.Decimal)
};
param[0].Direction = ParameterDirection.Output;
//设置参数最大长度
param[0].Precision = (byte)18;
//设置小数位数
param[0].Scale = (byte)2;
SqlHelper.ExecuteNonQuery(CommandType.StoredProcedure, "CRM_AchievementBonus", param);
return (decimal)param[0].Value;
}