三层登录VB.NET实现
生活随笔
收集整理的這篇文章主要介紹了
三层登录VB.NET实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
三層登錄VB.NET實現
? ? ? ? ? 用C#實現了一遍三層登錄,然后再使用VB.NET實現,然后轉為七層登錄,七層登錄成功后,直接開始機房的VB.NET個人重構。
? ? ? ? ??具體的過程省略了,直接上代碼:
? ? ? ? ??界面層
Imports Login.Model Imports Login.BLL'顯示層 Public Class UserLoginPrivate 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) ThenMsgBox("登陸成功!")ElseMsgBox("登錄失敗!")End IfEnd SubPrivate Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.ClickEndEnd 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 ThenReturn TrueElseReturn FalseEnd IfEnd 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語句的具體類型,在此為Selectcmd.CommandText = sqlcmd.CommandType = CommandType.Text'添加命令參數cmd.Parameters.Add(New SqlParameter("@UserName", User.UserID))cmd.Parameters.Add(New SqlParameter("@Password", User.UserPassword))'打開數據連接'執行查詢語句,并生成一個DataReaderconn.Open()reader = cmd.ExecuteReader()'讀取查詢到的數據,并返回給相應的屬性While reader.Read()'獲取數據庫中相應字段的數據DALUserInfo.UserID = reader.GetString(0).ToStringDALUserInfo.UserPassword = reader.GetString(1)End While'返回查詢到的實體'關閉連接Return DALUserInfoconn.Close()End Function End Class? ? ? ? ??實體層
<span style="font-size:24px;">'實體層 Public Class User_Info'定義實體類UserInfo'聲明數據庫中字段信息Private _UserID As StringPublic Property UserID As String'讀數據GetReturn _UserIDEnd Get'寫數據Set(value As String)_UserID = valueEnd SetEnd PropertyPrivate _UserPassword As StringPublic Property UserPassword As StringGetReturn _UserPasswordEnd GetSet(value As String)_UserPassword = valueEnd SetEnd Property End Class</span>總結
以上是生活随笔為你收集整理的三层登录VB.NET实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三层登录C#实现
- 下一篇: XML Schema简介