机房重构——透过问题看登录

三层登录

1.在三层登录中用到select语句,在给变量赋值的时候出现了如下错误,

机房重构——透过问题看登录_第1张图片

正确代码,如下,


代码解析:该段代码的意思是将dUser.UserId的值赋值给变量@userId,将dUser.PassWord的值赋值给变量@passWord

2.该错误出现在从数据库中查到数据后将对应的数据返回到实体

机房重构——透过问题看登录_第2张图片

问题原因:我从数据库中查询的是userId和passWord两列的数据,所以索引应该是0和1而非0和2

3.类型转换问题,在敲代码的时候因为数据库中字段类型和定义的不同,就会出现类型转换问题,

          机房重构——透过问题看登录_第3张图片

原因:不同类型的是无法直接进行比较的,所以需要将类型进行转换,如下,

                      

4.在第一次机房的时候遇到在text控件中限制不能输入汉字,同样,在尝试完善登录功能时需要限制用户ID不可以是汉字,设置方法:修改文本框属性ImeMode为disable即可不支持中文输入

层登录

1.未能加载文件或程序集"DAL"或它的某一个依赖项,系统找不到指定的文件

   在七层登录的时候用到了抽象工厂+反射+配置文件,要想实现它,就需要做以下工作:

   a)在sqlHelper中添加连接数据库的字符串:

Dim strConnection As String = System.Configuration.ConfigurationSettings.AppSettings("strConnection")
   b)配置文件的位置在UI层的app.config中,以我的机房为例,在app.config中加入


    
    
      
  
   c)因为文件配置在了UI层,所以D层需要调用的是U层的配置文件,需要在D层属性中修改一下D层——>编译——>生成输出路径,如下图:

                        
总结

   在刚开始的时候会遇到很多的问题,经历了这些才能对代码有一定的理解度,遇到问题就去查,这就是真理,查的多了就会越来越喜欢敲下去,逐个攻破才是王道!加油!

    


你可能感兴趣的:(机房重构——透过问题看登录)