繁体   English   中英

在ASP.NET中处理DBNull和null

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM