前言:经历了千难万险,登陆的基本功能终于实现了--当输入正确的账户与密码,点击登陆,弹出了另一个窗体的时候,自己心里终于轻松地出了一口气。不过,回想起自己经历的各种错误与秃头时刻,自己还是要继续总结错误的,因此,如下是我的总结。
0.基础问题
0.1 登陆界面用代码设置屏幕中心
在UI层的登陆功能中,我想给窗体设置一些属性,虽然在属性窗口种可以给它设置,但是我们要了解一点:能在代码中写出的功能尽量在代码中写出。
语法:
this.StartPosition = FormStartPosition.CenterParent;
0.2 ComboBox的事件
我的目标功能:当改变用户类型时,最上方的图片也会改变。可在我选择combobox的事件时却犯了难,不知道要设定哪个事件才能完成功能。
之后我找到了正确的事件:SelectedValueChanged/SelectedIndexChanged
3.Try-catch语句
try-catch语句在之前的C#基础中学习过,但因为没有怎么好好总结,因此对这个语句的功能有些忘记了。
try:用于检查发生的异常,并帮助发送任何可能的异常;
catch:以控制权更大的方式处理错误,可以有多个catch语句;
finally:无论是否引发了异常,finally的代码块都将执行;
throw:用于引发异常,可引发预定义异常和自定义异常
1.新建类
我在开始建立七层的时候,发现了一个致命的问题:
首先是我建立的类下根本没有Properties与引用两个板块;
其次是当我输入这个引用时根本无法识别。
后来发现是自己建立的类错了,应该是.NET Framework类型的类库。
2.访问修饰符的补充
当建好一个类之后,一定要在代码中增加对这个类的访问修饰符,否则其他类是没法引用这个类的。
3.缺少引用
这个问题需要我们添加引用。解决方法:
右击工厂层项目下的“引用”-->添加引用-->程序集-->勾选System.Configuration
*在DAL层我们同样需要加入这个引用。
4.找不到指定文件
这个问题是在Factory中出现的问题:缺少dll文件。解决方案如下:
-打开DAL层的文件夹-bin-Debug;
-复制框中的文件;
-粘贴到UI层的Debug文件夹下。
上面的方法是理论解决方案。而我遇到的问题则更有意思:当我打开DAL层的Debug文件夹后,里面竟然是空的。
解决方案如下:
右击DAL项目-->重新生成。
但问题还是没有解决。
最终向其他人求助后,我得到了问题的解决方法:在UI层的配置文件将vaule值改为DAL层的项目名(注意不是类名)。
5.未将对象引用设置到对象的实例
这个问题需要了解以下几行代码的含义:
public _5.IDAL.LoginIDAL CreateUser()
{
string ClassName = "_6.DAL" + "." + "LoginDAL";//DAL层的类名
return (_5.IDAL.LoginIDAL)Assembly.Load(StrDB).CreateInstance(ClassName);//反射的使用
}
_6.DAL是项目LoginDAL的命名空间;LoginDAL是项目LoginDAL下的类名。只有这两块代码写对才能继续向下运行。
6.ConnectionString属性尚未初始化
我出现这个问题的原因是因为SqlHelper类中的代码与配置文件中的键名不匹配,让名称一致后就解决了。
7.必须声明标量变量"userID"
这个问题是困扰我时间炒鸡长的一个问题,而且看了好多博客也没找到符合自己问题的答案。最后发现自己是因为框中的两个名不一致,一个写成了userName,一个写成了userID。
注:这两个大小写不一致并不会导致这个问题,但为了规范起见,我们还是要注意一下。
以上就是自己遇到的问题,相信在以后还会遇到更多问题,但正所谓是“遇到的问题越多,成长的空间越大”,在现在这个年龄段正是要好好成长的时期,不要怕遇到问题。