码迷,mamicode.com
首页 > Windows程序 > 详细

三层—登录窗体

时间:2015-01-11 16:19:26      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:结构   sql注入   数据库   ado.net   视频   

     在上一篇文章介绍了三层,现在重点介绍一下三层是如何实现的
一、总述
    这个例子有两个功能:登录、登录一次给积分
    例子中有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与数据源的交互
 小结
    在初次学习三层的时候一定要多用单步调式,这样可以更加清楚的了解三层的结构原理和数据的传输
    在视频例子的基础上再用传实体,加设计模式的方式多多练习,可以对三层有更好的理解
    每次学习结束后都要做做总结,回顾一下自己学习的知识,效果很不错的 

三层—登录窗体

标签:结构   sql注入   数据库   ado.net   视频   

原文地址:http://blog.csdn.net/husen1314/article/details/42610933

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!