从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; |
|
|
|
|
|