【发布时间】:2012-10-19 19:19:13
【问题描述】:
这段代码非常适合我:
if (someStr == null)
da.InsertCommand.Parameters.Add("@SOMESTR", SqlDbType.NVarChar).Value = DBNull.Value;
else
da.InsertCommand.Parameters.Add("@SOMESTR", SqlDbType.NVarChar).Value = someStr;
但我的直觉告诉我,它可能有一个单行版本。比如:
da.InsertCommand.Parameters.Add("@SOMESTR", SqlDbType.NVarChar).Value = someStr==null ? DBNull.Value : someStr ;
但是我刚刚在上面发布的单行代码当然失败了,因为DBNull.Value 没有转换为字符串。
有没有办法完成我如此渴望的一个班轮?
【问题讨论】:
-
您可以将 someStr 强制转换为对象
-
@cadrell0 你的方法行得通!请作为答案发布,以便我接受。
-
我们过去已经通过强制转换完成了此操作:(object)DBNull.Value 应该为您完成。 (或类似的接近语法)
标签: c# sql-server sql-insert sqldataadapter