首页 > 代码库 > 三层登陆实例

三层登陆实例

在理论篇我们已经知道了,实体类作为三层之间的传递和处理对象(封装参数)。

在系统中三层建立对实体类的引用,上层建立对下层的引用UI   BLL   DAL

 

1、系统说明

功能:以机房收费系统的数据库User_Info表为基础实现基本的系统登陆,如果登陆成功则弹出提示框显示登录成功,否则则显示“用户名和密码错误”。

过程图解


具体过程:

(一)、建立模块存放实体类,建立模块存放数据库连接过程。

(二)、DAL层:创建一个查询方法SelectUser(),创建数据库链接,根据BLL层传进来的参数user在数据库中进行查找信息返回一个Duse实体给BLL层。

(三)、BLL层:创建方法Loginuser()跟据UI层传进来的参数user调用DAL层的SelectUser()将得到一个Duser实体赋值给Buser,然后判断Buser和参数user是否相等,相等将Buser返回给UI层,否则则抛出异常。

(四)、UI层输入的用户名和密码,数据封装到user实体中,调用BLL层的Loginuser()将返回的Buser赋值给Uuser 在界面的TextBox中显示当前用户的级别。


数据库User_Info表

 

三层设计



2、代码实现

实体类:Model中的User类

Public Class User
    Dim _userid As String
    Dim _pwd As String
    Dim _level As String
    Dim _userName As String
    Dim _head As String

    Public Property userID() As String
        Get
            Return _userid
        End Get
        Set(value As String)
            _userid = value
        End Set
    End Property
    Public Property PWD() As String
        Get
            Return _pwd
        End Get
        Set(value As String)
            _pwd = value
        End Set
    End Property
    Public Property Level() As String
        Get
            Return _level
        End Get
        Set(value As String)
            _level = value
        End Set
    End Property
    Public Property UserName() As String
        Get
            Return _userName
        End Get
        Set(value As String)
            _userName = value
        End Set
    End Property
    Public Property Head() As String
        Get
            Return _head
        End Get
        Set(value As String)
            _head = value
        End Set
    End Property

End Class

DAL层:

 CNtion类:创建数据库连接


  user_DA:实现数据库访问功能。



BLL层

  LoginManger类:实现数据处理和用户登录功能。



UI层

  Form1类:显示数据


实现:


三、总结

在刚开始敲登录的时候,一直没弄明白三层之间如何进行数据传输?各层执行各自的功能,当各自的功能实现之后如何反馈给上层?

登陆实例中,三层之间传递实体类,各层执行完操作之后在返回给上层自己执行结果(实体类),上层通过实体类中传递的参数进行相应的判断处理。

三层登陆实例