一直以来,对于数据转换,经常用的就是Convert.ToInt32 和int.Parse 。
我数据库里这个字段是 int 类型。 查询时因为要读取,
model.ReachT = int.Parse(ds.Tables[0].Rows[0]["ReachT"].ToString()); 。
用int.parse没有出错。但是用
model.ReachT = Convert.Toint32(ds.Tables[0].Rows[0]["ReachT"].ToString());就出错了。
调试出model.ReachT=0.但是我数据库里这个字段没有值。也就是说。通过convert.toint32就是被强制赋值为0。
所以一直报错说输入字符串不正确
最后这个结果就是我自己设计表 不规范,既然是 int 类型,默认的应该是0。这样就不会报错了。程序员,要仔细。