微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

三层登录——VB.NET版

前言

由于下面的机房收费系统重构自己要用VB.NET进行重构,所以在敲三层登录的时候,实践了一份C#版三层登录,接着就是VB.NET版的三层登录。话说还有七层登录,一下子感觉三层又矮小了。万丈高楼平地起,都得从最底层走起~

VB.NET版三层登录

Entity实体层

<span style="font-family:KaiTi_GB2312;font-size:18px;">Public Class UserInfo
    '定义两个私有属性
    Private UserID As String
    Private Password As String

    '定义属性过程,通过属性过程,允许其他类访问
    Public Property ID As String

        Get
            Return UserID
        End Get

        Set(value As String)
            UserID = value
        End Set
    End Property

    Public Property PWD As String

        Get
            Return Password
        End Get

        Set(value As String)
            Password = value
        End Set
    End Property
End Class</span>

U层

<span style="font-family:KaiTi_GB2312;font-size:18px;">Public Class Frmlogin

    Private Sub btnExit_Click(sender As Object,e As EventArgs) Handles btnExit.Click
        End
    End Sub

    Private Sub btnOK_Click(sender As Object,e As EventArgs) Handles btnOK.Click
        '实例化传实体对象;
        Dim LoginUser As New Login.Model.UserInfo '用来接收用户登录名和密码;

        '实例化B层对象
        Dim Bcheck As New Login.BLL.LoginManager

        '将文本框中的字符串送给实体对象login.user使实体对象能够带上参数;
        LoginUser.ID = txtUsername.Text()
        LoginUser.PWD = txtPassword.Text()


        If Bcheck.selectUIandModel(LoginUser) Then
            MsgBox("恭喜你,成功了!Amazing")
        Else
            MsgBox("这也太笨了吧,连这个都做不好,怎么谈是精英?")
        End If
    End Sub
End Class</span>

B层

<span style="font-family:KaiTi_GB2312;font-size:18px;">Imports Login.Model
Imports Login.DAL.UserDAO

Public Class LoginManager
    'B层业务处理逻辑:承接U层的参数和传递到D层;
    Function selectUIandModel(ByVal user As Login.Model.UserInfo) As Boolean

        Dim DAOuser As New Login.DAL.UserDAO '实例化D层的UserDAO类
        Dim Moderuser As New Login.Model.UserInfo '实例化实体层UserInfo类

        Moderuser.ID = user.ID
        Moderuser = DAOuser.selectUserInfoFormUserInfoTable(Moderuser) '引用了DAL层的方法

        If Moderuser.PWD = user.PWD Then
            Return True
        Else
            Return False
        End If
    End Function
End Class</span>

D层

<span style="font-family:KaiTi_GB2312;font-size:18px;">Imports System.Data.sqlClient
Imports Login.Model

Public Class UserDAO
    'server是服务器的名称,可以是local,IP地址,计算机名称;
    'database是数据库名称;
    'userid是登录用户名;
    'pwd是登录的密码;
    Dim sqlConnectStr As String = "server =ZLT;database=Login;uid=sa;pwd=123"

    '下面可以用windows身份验证登录;
    'Dim sqlConnectStr1 As String = "server=ZLT;database=Login;integrated Security=true"

    Dim sqlConnect1 As sqlConnection = New sqlConnection(sqlConnectStr)

    Function selectUserInfoFormUserInfoTable(ByVal user As Login.Model.UserInfo) As Login.Model.UserInfo
        Dim sql As String = "select * from Users where Username='" & user.ID & "'"
        Dim cmd As sqlCommand = New sqlCommand(sql,sqlConnect1) '定义sqlcommand对象;

        Dim read As sqlDataReader '定义sqldatareader对象;

        Dim UserDataTable As New DataTable '定义一个Datatable对象;
        Dim user1 As New Login.Model.UserInfo

        Try
            sqlConnect1.open()
            read = cmd.ExecuteReader
            UserDataTable.Load(read)
            user1.ID = UserDataTable.Rows(0)("Username")
            user1.PWD = UserDataTable.Rows(0)("Password")
            Return user1


        Catch ex As Exception
            user1.PWD = ""
            Return user1
        Finally
            If Not Isnothing(sqlConnect1) Then
                sqlConnect1.Close()
            End If
        End Try
    End Function
End Class</span>

小结

1、人总得学会长大,三层也需要不断的创新;

2、万变不离其宗,变是永远不变的。

点我——>C#版三层登录


感谢您的宝贵时间~~~

原文地址:https://www.jb51.cc/vb/257153.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐