机房重构--VB.NET三层登陆

之前用C#敲过一次三层登录,在用C#敲三层登录的时候已经将基本信息给介绍的比较全面了,所以这次用VB.NET敲完三层,也不做过多的介绍,只在这里将敲完三层所用的VB.NET的代码展示一下,有需要的可以借鉴一下,在第一次用VB.NET敲三层感到迷惑的时候可以参考这篇博客来实现一下代码。这也是我写这篇博客的主要目的,给大家带来帮助。OK,废话不说了,看代码:

一开始敲的时候,最好是将DAL层敲好,DAL层可以分为两部分,第一部分是将数据库和VS连接上:代码如下

Imports System.Data
Imports System.Data.SqlClient

Public Class UbUtil
    Public Shared Function Connstring() As SqlConnection
        Dim cnStr As String
        cnStr = "server=.;database=Login;User ID=sa;password=123"
        Dim coon As SqlConnection
        coon = New SqlConnection(cnStr)
        Return coon
    End Function
End Class

然后再将DAL层的第二部分敲好。DAL第二部分的作用是用来接收BLL层所发出的信息然后再与数据库中相应位置的信息匹配,代码如下:

Imports System.Data
Imports System.Data.SqlClient

Public Class SelectSQL
    Public Function SelectUserInfo(UserInfo As Model.UserInfo) As Model.UserInfo
        Dim cn As SqlConnection = SqlHelper.Connstring
        Dim sql As String
        sql = "SELECT * from Users where UserName = @UserName and Password = @Password"
        Dim cmd As SqlCommand = New SqlCommand(sql, cn)
        cmd.Parameters.Add(New SqlParameter("@UserName", UserInfo.UserName))
        cmd.Parameters.Add(New SqlParameter("@Password", UserInfo.Password))
        cn.Open()
        Dim reader As SqlDataReader
        reader = cmd.ExecuteReader()
        Dim User As New Model.UserInfo
        While (reader.Read())
            User.UserName = reader.GetString(1)
            User.Password = reader.GetString(2)
        End While
        Return UserInfo
    End Function
End Class

这样DAL层就已经大功告成,接下来就是敲Model模块,Model模块的作用就是连接整个流程,在敲完这个模块之后,再敲BLL层的话,就能顺利的让BLL层与DAL层成功连接,方便一步一步的调试,所以Model层的重要性是非常大的,代码如下:

Public Class Login.UserInfo
    Private Property e_userName As String
    Public Property UserName() As String
        Get
            Return e_userName
        End Get
        Set(value As String)
            e_userName = value
        End Set
    End Property
    Private Property e_Password As String
    Public Property Password() As String
        Get
            Return e_Password
        End Get
        Set(value As String)
            e_Password = value
        End Set
    End Property
End Class

等Model模块敲完之后就可以继续敲BLL层了,BLL的作用是用来处理业务逻辑的,起到一个承上启下的作用。具体代码如下:

Public Class LoginManager
    Public Function checkUserinfo(ByVal UserInfo As Model.UserInfo) As Model.UserInfo
        Dim Login As New DAL.SelectSQL
        Dim Manager As New Model.UserInfo
        Manager = Login.SelectUserInfo(UserInfo)
        If (Manager.UserName Is Nothing Or Manager.Password Is Nothing) Then
            Throw New Exception("用户名或密码错误,请核实~~~")
        End If
        MsgBox("登陆成功,正在登录系统", MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "提示")
        Return Manager
    End Function
End Class

最后就剩下UI层了,我所做的显示窗体是这样的:


其具体的代码如下:

Imports System.Windows.Forms
Public Class Login
    Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
        Try
            Dim UserInfo As New Model.UserInfo
            UserInfo.UserName = txtUserName.Text.Trim()
            UserInfo.Password = txtPassword.Text.Trim()
            If txtUserName.Text = "" Then
                MsgBox("用户名不能为空!", MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "提示")
                Return
            End If
            If txtPassword.Text = "" Then
                MsgBox("密码不能为空!", MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "提示")
                Return
            End If
            Dim Login As New BLL.Manager
            Dim returnUserInfo As New Model.UserInfo
            returnUserInfo = Login.checkUserinfo(UserInfo)
        Catch ex As Exception
            MessageBox.Show(ex.Message.ToString())
        End Try
    End Sub
End Class

大功告成,这就是VB.NET敲下的三层登录所有的代码,具体数据库的设置看代码应该能看出一些,数据库建立了一个表,表名为:Users

希望能帮大到家。


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值