更新空值
我正在尝试生成数据层模板。 当我进行选择、更新和插入时,想法是让模板适用于所有列,因为我不知道哪一列包含值。 问题是我可能有一个更新语句,如 cmd.Parameters.AddWithValue("@Field", this.Field); 如果该值为空,则查询将不会执行。 我该如何解决这个问题?
更新:
我试过了? 解决方案,但我收到错误 Operator ?? 不能应用于操作数 string(或 int)和 System.DBNull。 它似乎只在字段实际上为空时才起作用,但如果它有值则不起作用。 然后我尝试将类型(对象)DBNull 放在 DBNull 前面,但仍然没有任何结果。
添加(对象)到这个字段有效!
谢谢。
I am trying to generate a data layer template. When I do my Selects, Updates, and Inserts, the idea is to have the template work with all the columns because I don't know which one's contain values or not. The problem is that I may have an update statemtent like cmd.Parameters.AddWithValue("@Field", this.Field); and if that value is null, the query won't execute. How can I get around this problem?
UPDATE:
I tried the ?? solution but I receive the error Operator ?? cannot be applied to operands string(or int) and System.DBNull. It seems to only work if the field is actually null, but not if it has a value. Then I tried to place the type (object)DBNull in front of DBNull but still nothing.
Adding (object) to this field worked!
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
?? 是 C# 中的合并运算符。
?? is the coalesce operator in C#.