DbParameter param = comm.CreateParameter();
param = comm.CreateParameter();
param.ParameterName = "@StaffId";
if (!string.IsNullOrEmpty(activity.StaffId))
param.Value = activity.StaffId;
param.DbType = DbType.String;
comm.Parameters.Add(param);
上面的方法不起作用(很明显),对象没有被实例化。当未填充 StaffId 时,我试图将 NULL 插入数据库。我怎样才能做到这一点?
最佳答案
当需要将 NULL 作为参数传递给存储过程时,可以使用 DBNull.Value。
param.Value = DBNull.Value;
或者您可以使用它来代替您的 if
运算符:
param.Value = !string.IsNullOrEmpty(activity.StaffId) ? activity.StaffId : (object)DBNull.Value;
关于c# - 从 C# DbCommand 向 SQL DB 插入 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9801649/