c#中的格式异常
本文关键字:异常 格式 | 更新日期: 2023-09-27 18:04:40
大家好!
我想听听你的意见或建议。
我得到了这个错误:对象不能从DBNull转换为其他类型,但它访问或引用的字段不具有空值。怎么可能呢?
下面是这段代码:
int pregnant = Convert.ToInt32((dtRw)["pregnant"]);
DBNull和null是不同的。虽然null不是任何类型的实例,但System.DbNull. value是System.DbNull的一个实例。在null和System.DBNull.Value之间的区别是什么?
下面的代码将失败
if ((dtRw)["pregnant"] != null)
int pregnant = Convert.ToInt32((dtRw)["pregnant"]);
但这将正常工作
if (!(dtRw)["pregnant"] is DBNull)
int pregnant = Convert.ToInt32((dtRw)["pregnant"]);
如果你使用MySqlDataReader,那么有IsDBNull方法可以检查列是否包含不存在或缺失的值。
if(dtRw.IsDBNull("pregnant")) {
int pregnant = Convert.ToInt32((dtRw)["pregnant"]);