我正在返回registrationID作为存储过程的输出。存储过程可以返回null或int值。所以我在C#中编写下面的代码。我想要设置dbtype null或int,那我该怎么做。将dbtype设置为null或Int为SQL输出参数
p.Add("@TotalRebate", bk.TotalRebate);
p.Add("@PromotionId", bk.PromotionId);
p.Add("@RegistrationId", bk.RegistrationId, dbType: DbType.Int32, direction: ParameterDirection.Output);
_db.Execute("InsertBookingNo", p, commandType: CommandType.StoredProcedure);
var registrationId = p.Get<int>("@RegistrationId");
感谢
你得到一个例外?如果我们需要帮助,需要更多的代码。 – mxmissile
试图将DBNull强制转换为不可空类型!请注意,直到数据流完成(在'foreach'为Query(...,buffered:false)之后,或GridReader已经为QueryMultiple设置之后,out/return参数才会有更新值),这里是错误 –
Edit问题并添加缺少的代码,包括发生异常的位置。 – mxmissile