1

我正在尝试生成数据层模板。当我进行选择、更新和插入时,我的想法是让模板与所有列一起使用,因为我不知道哪些列包含值。问题是我可能有一个更新状态,如 cmd.Parameters.AddWithValue("@Field", this.Field); 如果该值为空,则查询将不会执行。我怎样才能解决这个问题?

更新:

我试过了??解决方案,但我收到错误 Operator ?? 不能应用于操作数 string(或 int)和 System.DBNull。它似乎仅在该字段实际上为空时才有效,但如果它有值则无效。然后我尝试将类型(对象)DBNull 放在 DBNull 前面,但仍然没有。

将(对象)添加到该字段有效!

谢谢。

4

1 回答 1

4
cmd.Parameters.AddWithValue("@Field", this.Field ?? DBNull.Value);

?? 是C#中的合并运算符。

于 2009-01-18T02:15:22.223 回答