C#机房重构-七层登陆问题汇总

前言:经历了千难万险,登陆的基本功能终于实现了--当输入正确的账户与密码,点击登陆,弹出了另一个窗体的时候,自己心里终于轻松地出了一口气。不过,回想起自己经历的各种错误与秃头时刻,自己还是要继续总结错误的,因此,如下是我的总结。

 

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。

注:这两个大小写不一致并不会导致这个问题,但为了规范起见,我们还是要注意一下。

 

以上就是自己遇到的问题,相信在以后还会遇到更多问题,但正所谓是“遇到的问题越多,成长的空间越大”,在现在这个年龄段正是要好好成长的时期,不要怕遇到问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值