报未将对象引用设置到对象的示例的错误原因

报未将对象引用设置到对象的示例的错误原因

在C#的查询中报的最多错误应该就是“未将对象引用设置到对象的示例”,那么为什么会报这种错误呢?主要是因为你要查询的数据在数据库中的字段有空的值,想要得到解决方法,就请看下面的讲解吧!
举例:
我要查询老朱的数据信息,但是在查询的时候就会报未将对象引用设置到对象的示例的错误。
在这里插入图片描述
但是它却给我报了“未将对象引用设置到对象的示例”这种错误,
在这里插入图片描述
一般遇到这种错误就要先去控制器断点看一下究竟是哪里处理问题,把要搜索的数据一条一条地去看,就比如我这里,现在断个点看一下到底是哪里出了问题。
在这里插入图片描述
找出问题了,因为我在查询的时候,查询的数据中也包含了可以查询客户名称的字段,甚至更多的字段,而现在我要查询的是联系人的字段,却给我报错的最大原因是因为我要搜索的数据中含有空格或者是为空的数据,从而影响到了我要搜索的数据,如何解决呢?
解决方法:在查询数据的时候通过三目运算符来转换一下
查询数据,将在数据库的里面可以为空的数据转换一下,不能为空的数据就不必管,
如何通过三目运算符进行判断?
例子: 判断tbA.A是否为空(null),为空的话就让tbA.A为字符串的空(“”),否则的话就为就让tbA.A等于数据库里面的值。
A = tbA.A == null ? “”: tbA.A
代码如下:
List listClient = (from tbClient in myModels.PW_Client
where tbClient.ClientToVoidNo != false
orderby tbClient.ClientID descending
select new clientVo
{
ClientID = tbClient.ClientID,
ClientName = tbClient.ClientName.Trim(), //必填字段
ClientNum = tbClient.ClientNum.Trim(), //必填字段
//选题字段需判断是否为空的情况
Clientlinkman = tbClient.Clientlinkman != null ? tbClient.Clientlinkman.Trim() : “”,
ClientPhone = tbClient.ClientPhone != null ? tbClient.ClientPhone.Trim() : “”,
ClientAddress = tbClient.ClientAddress != null ? tbClient.ClientAddress.Trim() : “”,
ClientRemark = tbClient.ClientRemark != null ? tbClient.ClientRemark.Trim() : “”
}).ToList();

另外查询数据库的数据的时候,如果数据库里面的数据有空格,那么在查询数据的时候就要把空格去掉,否则也一样会报错,去空格:A = tbA.A.Trim()。
总结:
必填数据(即不能为空的数据可以直接去空格),选填的数据要运用三目运算符判断一下,如果数据为空时就让它为空,不为空时就让它去空格。
或许你们有更好的解决方法,请教教小妹,谢谢!

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值