三层登录VB.NET实现

三层登录VB.NET实现


          用C#实现了一遍三层登录,然后再使用VB.NET实现,然后转为七层登录,七层登录成功后,直接开始机房的VB.NET个人重构。

          具体的过程省略了,直接上代码:

          界面层

Imports Login.Model
Imports Login.BLL

'显示层
Public Class UserLogin

    Private Sub btnLogin_click(sender As Object, e As EventArgs) Handles btnLogin.Click

        '定义实体层对象
        Dim UIUserInfo As New Login.Model.User_Info
        '定义BLL层的对象
        Dim BLLManager As New Login.BLL.LoginManager

        '将控件的输入信息赋值给实体层对象
        UIUserInfo.UserID = txtUserName.Text()
        UIUserInfo.UserPassword = txtPassword.Text()

        '把UI层的信息,传给DLL层中的自定义函数
        '通过自定义函数的处理结果的返回值,判断用户是否登录成功
        If BLLManager.FunctionUI(UIUserInfo) Then
            MsgBox("登陆成功!")
        Else
            MsgBox("登录失败!")
        End If
    End Sub

    Private Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.Click
        End
    End Sub
End Class

          业务逻辑层

Imports Login.Model
Imports Login.DAL.UserDAO

'业务逻辑层
Public Class LoginManager

    '自定义函数,判断用户名和密码是否正确
    Public Function FunctionUI(ByVal user As Login.Model.User_Info) As Boolean

        '实例化实体层对象
        Dim BLLUserInfo As New Login.Model.User_Info
        '实例化DAL层对象
        Dim DALUser As New Login.DAL.UserDAO

        '实体层对象,用来接受DAL层传来的数据
        BLLUserInfo = DALUser.FunctionDAL(user)

        '判读从UI层和DAL层传来的数据是否相等,也就是用户名和密码是否相同
        '通过在BLL层自定义函数的参数,把UI层用户输入的数据传到BLL层
        '最后,在BLL层对数据进行处理,返回结果值
        If BLLUserInfo.UserID.Trim = user.UserID.Trim And BLLUserInfo.UserPassword.Trim = user.UserPassword.Trim Then
            Return True
        Else
            Return False
        End If
    End Function
End Class

          数据访问层

'定义链接数据库类
Module DbUtil
    '定义链接数据库字符串
    Public connString As String = "Server=liushaofeng;database=charge_sys;User ID=sa;Password=123456"
End Module
Imports System.Data.SqlClient
Imports Login.Model

'数据访问层
Public Class UserDAO

    '自定义函数,查询和接收数据库中的数据
    Public Function FunctionDAL(User As Login.Model.User_Info) As Login.Model.User_Info
        '定义实体层对象,接收来自数据库的数据
        Dim DALUserInfo As New Login.Model.User_Info

        '定义数据库记录集
        '定义一个读取器
        '若要创建 SqlDataReader,必须调用 SqlCommand 对象的 ExecuteReader 方法,而不要直接使用构造函数。
        Dim conn As New SqlConnection(DbUtil.connString)
        Dim reader As SqlDataReader

        '具体的数据查询语句
        Dim sql As String = "Select UserID,PWD From User_Info Where UserID=@UserName And PWD=@Password"
        Dim cmd As New SqlCommand(sql, conn)

        '获取SQL语句的具体内容
        '获取上述SQL语句的具体类型,在此为Select
        cmd.CommandText = sql
        cmd.CommandType = CommandType.Text

        '添加命令参数
        cmd.Parameters.Add(New SqlParameter("@UserName", User.UserID))
        cmd.Parameters.Add(New SqlParameter("@Password", User.UserPassword))

        '打开数据连接
        '执行查询语句,并生成一个DataReader
        conn.Open()
        reader = cmd.ExecuteReader()

        '读取查询到的数据,并返回给相应的属性
        While reader.Read()
            '获取数据库中相应字段的数据
            DALUserInfo.UserID = reader.GetString(0).ToString
            DALUserInfo.UserPassword = reader.GetString(1)
        End While

        '返回查询到的实体
        '关闭连接
        Return DALUserInfo
        conn.Close()
    End Function
End Class

          实体层

<span style="font-size:24px;">'实体层
Public Class User_Info
    '定义实体类UserInfo
    '声明数据库中字段信息
    Private _UserID As String
    Public Property UserID As String
        '读数据
        Get
            Return _UserID
        End Get
        '写数据
        Set(value As String)
            _UserID = value
        End Set
    End Property

    Private _UserPassword As String
    Public Property UserPassword As String
        Get
            Return _UserPassword
        End Get
        Set(value As String)
            _UserPassword = value
        End Set
    End Property
End Class</span>

你可能感兴趣的:(三层登录VB.NET实现)