三层—登录窗体

     在上一篇文章介绍了三层,现在重点介绍一下三层是如何实现的
一、总述
    这个例子有两个功能:登录、登录一次给积分
    例子中有U层(Presentation Layer)、B层(Business Layer)、D层(Data Access Layer)和实体层组成,
 它们之间调用关系如下
		三层—登录窗体
     实体层在这里的作用是存储用户登录的信息,使用的是属性访问器 
二、代码
    在用三层的时候一般是从D层开始实现,所以我们也从D层开始介绍
    在D层之前先看一下实体层的代码
       三层—登录窗体
  1.D层,对数据库的操作
    首先,D层需要调用数据库,所以添加一个类DBUtil,定义一个全局变量存储连接数据库的语句
       三层—登录窗体
    根据从B层传过来的用户名和密码,从数据库中查询,也就是UserDAO类
   三层—登录窗体
    D层中,用户登录时增加积分功能
       三层—登录窗体
  2.B层,既要把U层的数据传给D层,又要根据D层返回来的数据做判断再返回U层,责任重大
      三层—登录窗体
   3.U层,用户输入的数据和最终要现实的数据
	三层—登录窗体
    从上边的小例子中可以看出,每层都用到了实体层,而且上层都需要调用下层的方法
    我们按照数据传输的方式想一下:用户输入用户名和密码,然后利用U层中的UserLogin方法把用户名和密
 码传给B层,B层把用户名和密码传给D层,并调用D层的SelectUser方法,D层根据传入的用户名和密码在数据
 库中查询信息,当用户名和密码都正确的时候,把数据库中的信息传递给实体层实例化的对象,然后B层继续
 调用D层的UpdateScore方法,更新数据库,更新成功后B层再把D层中返回的信息传给U层,这时U层就可以显
 示信息了;当用户名和密码不正确的时候会在B层提示错误信息
三、小知识
   1.上边带有问号的第一张图片:属性访问器,图中的写法和我们平时的写法不一样,为什么?
     当我们只需要获得和存取值的时候两种方法都是一样的,没区别,但是当我们需要对获取的值进行判断时
   仅仅用{get;set;}就不可以了,必须写全
   2.第二张带有问号的图片,为什么要多次一举?
     图中的方式是传参,是防止Sql注入的方法;原理是把查询语句与控制语句分开
   3.对数据库中的数据操作时使用的是,ADO.net
     Connection建立连接
     Command执行操作
     DataReader读数据
     DataTable数据网格控件,一般在DataSet中使用
     DataSet记录集,数据库表中部分数据的映射
     DataAdapter数据适配器,实现DataSet与数据源的交互
 小结
    在初次学习三层的时候一定要多用单步调式,这样可以更加清楚的了解三层的结构原理和数据的传输
    在视频例子的基础上再用传实体,加设计模式的方式多多练习,可以对三层有更好的理解
    每次学习结束后都要做做总结,回顾一下自己学习的知识,效果很不错的 

三层—登录窗体

上一篇:window响应拖拽文件操作


下一篇:安装 WIn8.1 创建用户问题