C#“未将对象引用设置到对象的实例”

16 篇文章 1 订阅
![这里写图片描述](//img-blog.csdn.net/20180501155225241?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L1RpbmtfYmVsbA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

**解决办法:**将sql语句改为:
“select count(*) from t_user where username=’”+name+"’" 即可。

原因分析:
  出现这个错误的原因,是因为定义的对象“o”没有实例,它的引用为“null”,错误的原因是sql语句,它执行返回的是结果集中的第一行第一列,想一下如果没有查到记录,该语句返回的是什么,是“null”,所以才会报这样的错误。


###1.VS测试sql语句

![列表内容](//img-blog.csdn.net/20180501155608330?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L1RpbmtfYmVsbA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
  这样会返回null,所以vs就会报错。

  如果加上改成count(*) 则返回的是0,count聚合函数返回匹配指定条件的行数,查询到0条记录,所以是0.

![这里写图片描述](//img-blog.csdn.net/20180501155827923?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L1RpbmtfYmVsbA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

###2.在SQL server查询分析器,测试sql语句

![这里写图片描述](//img-blog.csdn.net/20180501155917145?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L1RpbmtfYmVsbA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
  使用聚合函数count之后,返回的也是一个整型0,因为没有记录,即查询到0个记录。
![这里写图片描述](//img-blog.csdn.net/20180501155943236?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L1RpbmtfYmVsbA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

  总结:精英和普通人的差距,就差那么一点。越来越觉得老师说的这句话有道理了,专业课学了一遍数据库,自考又学了一遍数据库,可学习的时候总是不以为然,想起了那句话:“你以为的你以为就是你以为的吗!”精英的行为永远都是相信和亲身实践;普通人的做法就是,你书上说啥就是啥,不会自己去实践操作,可就是这个实践的过程,让人与人之间有了天壤之别。
  或许如果当时就能发现这个问题,那么用的时候就更顺利了,现在有点害怕,不知道还有多少这样的、以前遗留的问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值