三層登陸——VB.NET版

前言

    因爲下面的機房收費系統重構本身要用VB.NET進行重構,因此在敲三層登陸的時候,實踐了一份C#版三層登陸,接着就是VB.NET版的三層登陸。話說還有七層登陸,一會兒感受三層又矮小了。萬丈高樓平地起,都得從最底層走起~html

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>

小結

    一、人總得學會長大,三層也須要不斷的創新;sql

    二、萬變不離其宗,變是永遠不變的。數據庫

點我——>C#版三層登陸windows


感謝您的寶貴時間~~~服務器

相關文章
相關標籤/搜索