问题描述:
在.NET风机项目中使用sqlite数据库做查询事报错
System.InvalidCastException异常
unConnectArea uca = new unConnectArea();
uca.areaId = reader.GetString(0);
uca.areaName = reader.GetString(1);
uca.color = reader.GetString(2);
uca.type = reader.GetInt32(3).ToString();
ucAreList.Add(uca);
原因分析:
经过Debug分析,color属性在数据库中可能为空值(NULL)直接用reader.GetString会抛出上述异常。
解决方案:
unConnectArea uca = new unConnectArea();
uca.areaId = reader.GetString(0);
uca.areaName = reader.GetString(1);
uca.color = reader.GetValue(2).ToString();//color可能为空 所以用GetValue获取;
uca.type = reader.GetInt32(3).ToString();
ucAreList.Add(uca);