我的MVC Web App中有一个更新类,用于从前端更新字段。这会调用数据库上的过程来更新表中的单元格。 (注意:此列可以接受NULL值)
如果我在我的C#代码中设置它,那么它会工作,因为它检查前端是否传递NULL并用空字符串替换它(空格也可以工作):
update.Value = dataModel.Value == null ? string.Empty : dataModel.Value;
但是,当我查询数据库表时,它不是在单元格中设置NULL值而只是空白。如何通过C#代码将NULL值传递给过程?
答案 0 :(得分:6)
您可以使用DBNull.Value
在数据库中传递Null值。这是DB的null
值的.Net替代。
所以你的代码变成了
update.Value = dataModel.Value == null ? DBNull.Value : dataModel.Value;
https://msdn.microsoft.com/en-us/library/system.dbnull.value(v=vs.110).aspx
答案 1 :(得分:1)
试试这个command.Parameters.AddWithValue("@param", DBNull.Value);