开发工具与关键技术: Visual Studio Null
作者:黎凤焕
撰写时间:2019年 6 月 25 日
在做项目的时候,不会一帆风顺的做下去,往往会出现一些很奇怪的问题来为难做项目者,让人绞尽脑汁的想,想出来,把问题解决了,会得到收获,感觉有一种成就感,要是没有解决出来,会一直卡在那里,让人头晕眼花。
而我就遇到了这样的问题,一直都想不明白,解决不了,不知是什么原因,把modal删除了有更新,还是不行,想了很久都没有解决,后来,去问了老师,才得知数据库的问题,数据库出错了,做新增的时候也错了,导致数据为空,所以运行不了,设置为空的字段不为空,然后不出错了,老师建议我把数据库给自己的负责老师检查,要不然后面出错会更加厉害,还是会把数据库推翻重新做的。
当点击查找的时候,表格里面一直显示着加载,就是不出数据,过一会会直接跳到控制器去,显示错误,知道是查询出了问题,就是怎么改还是这样,都不知道是什么原因,一开始做的时候,还可以查找得到的,过段时间就出错了,感觉不可思议,都不知道是怎么回事,也不知错在哪。
如下图所示,同学说,如果不是models没有更新数据,就是数据查询出了问题,然后把models删除又添加进去,还是无济于事。
断点检查的时候,CardNumber是显示2012,而m.CardNumber的CardNumber为Null,导致数据查询的时候跳转到控制器上,查询不出数据。
将出错的字段名全给它设置它不为Null时,才解决这个错误,查找信息的时候,不会跳转到控制器里报错。
var listStu = (from tbAll in myModel.B_ExpenditureList
where tbAll.Classification != null && tbAll.CardNumber != null &&tbAll.MedicalNumber != null && tbAll.MedicineName != null && tbAll.Doctor != null && tbAll.ExecutionProject != null && tbAll.OperationType != null && tbAll.OperateDate != null
orderby tbAll.ExpenditureListID descending
select new Patient
设置该字段不为空的时候,是解决了这个问题,但只是暂时性的解决,越往后面做,说不定错误来得让人猝不及防。
这就是我在做项目时遇到的问题。