回答

收藏

从C#DbCommand向SQL DB插入NULL

技术问答 技术问答 229 人阅读 | 0 人回复 | 2023-09-13

DbParameter param = comm.CreateParameter();
) I0 F) E. i& D$ q, b$ e- c                                                param = comm.CreateParameter();
1 w4 E( }$ u1 Q! U                                                param.ParameterName = “@StaffId”;
0 Q, J8 {& f7 O! y, l                                                if (!string.IsNullOrEmpty(activity.StaffId))& p$ a" w4 v) @" ^* N
                                                                param.Value = activity.StaffId;
( i, x; X/ Y5 X                                                param.DbType = DbType.String;, [% A" D: C: n2 H
                                                comm.Parameters.Add(param);) F7 X- C: P2 g- o
上述方法不起作用(很明显),对象没有实例化。我没有填充StaffId时试图将NULL插入数据库。我怎样才能做到这一点?
& I2 E7 x: ?5 f; J: E- M' Z                                                               
$ x4 u& s4 C( i' c$ z3 U  ?$ @    解决方案:                                                               
+ Y$ x; t8 n. ~6 m                                                                需要将NULL当参数传递到存储过程时,可以使用DBNull.Value。
4 j$ X+ a4 \" V- Y( V( sparam.Value = DBNull.Value;或者,你可以用它代替它if运算符:& {) o- n7 G2 _9 P* o: y
param.Value = !string.IsNullOrEmpty(activity.StaffId) ? activity.StaffId : (object)DBNull.Value;
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则