gpt4 book ai didi

c# - 无法确定条件表达式的类型,因为 'string' 和 'System.DBNull' 之间没有隐式转换

转载 作者:IT王子 更新时间:2023-10-29 04:18:01 26 4
gpt4 key购买 nike

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

为什么这是不可能的,还有什么建议可以尝试吗? 20 个参数的 If/else 是不行的。

最佳答案

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

所以这应该适合你:

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

关于c# - 无法确定条件表达式的类型,因为 'string' 和 'System.DBNull' 之间没有隐式转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16503266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com