不能确定条件表达式的类型,因为'string'和& # 39;System.DBNull& # 39;

本文关键字:DBNull System string 因为 条件 表达式 类型 不能 | 更新日期: 2023-09-27 18:13:14

param7[1].Value = tbLastName.Text.Length > 0 ? tbLastName.Text : DBNull.Value;

为什么这是不可能的,还有什么建议可以尝试吗?

不能确定条件表达式的类型,因为'string'和& # 39;System.DBNull& # 39;

问题在于(如错误消息所示)条件表达式在两个分支上要么需要相同的类型,要么需要从一种类型隐式地转换为另一种类型。在你的例子中,没有一个,所以你得到了错误。一个快速的解决方案是将其中一个值转换为(object)(这很好,因为DbParameter.Value无论如何都是object类型)

所以这应该对你有用:

param7[1].Value = tbLastName.Text.Length > 0 ? tbLastName.Text : (object)DBNull.Value;
相关文章: