C#错误锦集续集

前言

以下是我在重构过程中,所做的错误锦集的一个笔记,从一个小白慢慢开始调错的内心独白都在此,希望能对处于同样小白的你有所帮助。

正文

1,在充值中B层出现的问题
在这里插入图片描述

问题分析:
是说你要调用的对象实例里面不存你要操作的属性或者方法,而在确定了你的对象里面有你要操作的属性或者方法,但是仍然报错,那很可能是你操作的对象变成null了。因为null实际上也是一个对象(Nullable类型),所以它不会提示你“你操作的对象为空”这类的信息,而是对象实例中不存在你要操作的属性或者方法,也就是“未将对象引用设置到对象的实例”。
解决方案:
之前一直在找实例化,new的地方,发现没问题呀。耗费了很长时间,照不出来。头都晕了,请求杨大爷帮助,最后发现是因为没引用。

2,ConvertToList层里出现
在这里插入图片描述

解决方案:
做一个判断,if(valu isdecimal){ pi.SetValue(t,Convert.ToString(value),null),即可解决问题
之所以出现这个错,是因为实体层里的字段与数据库表里的字段不相符。所以就会报这个错

在这里插入图片描述

3,索引超出范文

在这里插入图片描述

4,未提供参数
在这里插入图片描述

 问题分析:
        数据库表中没有StudentNo了,但查询时仍有,删了即可

5,声明标量变量

在这里插入图片描述

问题解答:
在这里插入图片描述

把它删去即可

6,数据库表名
在这里插入图片描述

问题分析:
数据库表明写错

7,问题:判断逻辑出现了错误,但其实代码逻辑没问题,但还是走错。
解决:最后加上了一个trim()解决了

8,出现在工厂层
在这里插入图片描述
问题解答:
问题出现在D层,D层没有DAL类的定义上,没有实现接口的定义。
如下:public class PwdDAL:Ipwd

9,找不到dll文件和存在显示转换

在这里插入图片描述

解决方案:
虽然知道是没找到dll文件,但多次编译后还是不行。找银平帮忙。最后是因为我D层调错了方法造成的。
问题感悟:道理都清楚,调错仍需要一颗不急不燥的心

10,缺少参数
在这里插入图片描述

疑惑:
准备打断点调错,但是在D层不运行就直接出现错误了。这样的情况怎么弄呢?
原因:
因为识别不到sqlparams这个参数

删除用户窗体:

11,DataGridView控件里的问题
在这里插入图片描述
问题分析:一看肯定是数据库的原因,但是一看感觉我的狗没有问题呀。调错也看不出来什么问题,因为是一加载就报错。无法调错。后来通过查找终于找到关键所在了。
问题所在:配置文件的问题,加上这个即可。添加集成安全性的字段Integrated Security=True。后来我一想,难道不加这个就会报错了?我尝试了下,换成了添加“User ID=sa,Password=123456;成功

12,删除用户窗体factory层
在这里插入图片描述
接口层看了,D层看了,代码看了没毛病呀。结果是建的时候没有直接建接口,而是类,然而这也不行,就算改了也不行。

13,

在这里插入图片描述
分析:
路径或者环境变量没有设置正确,csc的时候没有找到你要编译的那个cs文件。
原因:改动东西后,没有重新编译

14,把表里的数据都删除后,发现无论登录哪个,出现的都是不正确
结果发现,是数据库添加数据的时候,前面加了一个空格

15,用dataGridView控件时,把先连接的数据删了,再打开出现错误导致窗体打不开

在这里插入图片描述

解决方案:
当窗体打不开时,在其Designer里面查找特的代码。如:这个窗体是在FrmOnWord.Designer.cs里找到已删除的数据,将它删除解决的。

总结

解决错误不是关键,拥有解决错误的思维和经验才是最重要的

发布了67 篇原创文章 · 获赞 72 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_42957931/article/details/100069688
今日推荐