[英]Handling DBNull and null in ASP.NET
重写这些(错误)行的最佳方法是什么?
布尔? 结果= dr [“结果”] == DBNull.Value? null:Convert.ToInt32(dr [“ result”]);
...和...
dr [“ result”] =结果?? DBNull.Value;
两者都不编译。
我正在使用MySql连接器,但不允许我设置,例如dr["result"] = null;
这是我第一次尝试。
有没有更合适的.NET数据类型来表示MySql可为null的tinyint(1)
?
怎么样:
dr["Hello"] = (object)result ?? DBNull.Value;
bool? result = dr["result"] == DBNull.Value ? null : (bool?)(Convert.ToInt32(dr["result"]) != 0);
您的建议未编译的原因是三元运算符?:
两个替代项必须具有相同的类型。 DBNull.Value
显然不是bool?
类型bool?
。 放bool?
但是,使一个object
变成相同的类型。 类似的规则适用于第二行。
如果使用存储过程或SQL查询,则可以使用SQL的ISNULL()
函数来处理NULL ...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.