三层登录VB.NET实现
生活随笔
收集整理的這篇文章主要介紹了
三层登录VB.NET实现
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
三層登錄VB.NET實(shí)現(xiàn)
? ? ? ? ? 用C#實(shí)現(xiàn)了一遍三層登錄,然后再使用VB.NET實(shí)現(xiàn),然后轉(zhuǎn)為七層登錄,七層登錄成功后,直接開(kāi)始機(jī)房的VB.NET個(gè)人重構(gòu)。
? ? ? ? ??具體的過(guò)程省略了,直接上代碼:
? ? ? ? ??界面層
Imports Login.Model Imports Login.BLL'顯示層 Public Class UserLoginPrivate Sub btnLogin_click(sender As Object, e As EventArgs) Handles btnLogin.Click'定義實(shí)體層對(duì)象Dim UIUserInfo As New Login.Model.User_Info'定義BLL層的對(duì)象Dim BLLManager As New Login.BLL.LoginManager'將控件的輸入信息賦值給實(shí)體層對(duì)象UIUserInfo.UserID = txtUserName.Text()UIUserInfo.UserPassword = txtPassword.Text()'把UI層的信息,傳給DLL層中的自定義函數(shù)'通過(guò)自定義函數(shù)的處理結(jié)果的返回值,判斷用戶是否登錄成功If BLLManager.FunctionUI(UIUserInfo) ThenMsgBox("登陸成功!")ElseMsgBox("登錄失敗!")End IfEnd SubPrivate Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.ClickEndEnd Sub End Class? ? ? ? ??業(yè)務(wù)邏輯層
Imports Login.Model Imports Login.DAL.UserDAO'業(yè)務(wù)邏輯層 Public Class LoginManager'自定義函數(shù),判斷用戶名和密碼是否正確Public Function FunctionUI(ByVal user As Login.Model.User_Info) As Boolean'實(shí)例化實(shí)體層對(duì)象Dim BLLUserInfo As New Login.Model.User_Info'實(shí)例化DAL層對(duì)象Dim DALUser As New Login.DAL.UserDAO'實(shí)體層對(duì)象,用來(lái)接受DAL層傳來(lái)的數(shù)據(jù)BLLUserInfo = DALUser.FunctionDAL(user)'判讀從UI層和DAL層傳來(lái)的數(shù)據(jù)是否相等,也就是用戶名和密碼是否相同'通過(guò)在BLL層自定義函數(shù)的參數(shù),把UI層用戶輸入的數(shù)據(jù)傳到BLL層'最后,在BLL層對(duì)數(shù)據(jù)進(jìn)行處理,返回結(jié)果值If BLLUserInfo.UserID.Trim = user.UserID.Trim And BLLUserInfo.UserPassword.Trim = user.UserPassword.Trim ThenReturn TrueElseReturn FalseEnd IfEnd Function End Class? ? ? ? ??數(shù)據(jù)訪問(wèn)層
'定義鏈接數(shù)據(jù)庫(kù)類 Module DbUtil'定義鏈接數(shù)據(jù)庫(kù)字符串Public connString As String = "Server=liushaofeng;database=charge_sys;User ID=sa;Password=123456" End Module Imports System.Data.SqlClient Imports Login.Model'數(shù)據(jù)訪問(wèn)層 Public Class UserDAO'自定義函數(shù),查詢和接收數(shù)據(jù)庫(kù)中的數(shù)據(jù)Public Function FunctionDAL(User As Login.Model.User_Info) As Login.Model.User_Info'定義實(shí)體層對(duì)象,接收來(lái)自數(shù)據(jù)庫(kù)的數(shù)據(jù)Dim DALUserInfo As New Login.Model.User_Info'定義數(shù)據(jù)庫(kù)記錄集'定義一個(gè)讀取器'若要?jiǎng)?chuàng)建 SqlDataReader,必須調(diào)用 SqlCommand 對(duì)象的 ExecuteReader 方法,而不要直接使用構(gòu)造函數(shù)。Dim conn As New SqlConnection(DbUtil.connString)Dim reader As SqlDataReader'具體的數(shù)據(jù)查詢語(yǔ)句Dim sql As String = "Select UserID,PWD From User_Info Where UserID=@UserName And PWD=@Password"Dim cmd As New SqlCommand(sql, conn)'獲取SQL語(yǔ)句的具體內(nèi)容'獲取上述SQL語(yǔ)句的具體類型,在此為Selectcmd.CommandText = sqlcmd.CommandType = CommandType.Text'添加命令參數(shù)cmd.Parameters.Add(New SqlParameter("@UserName", User.UserID))cmd.Parameters.Add(New SqlParameter("@Password", User.UserPassword))'打開(kāi)數(shù)據(jù)連接'執(zhí)行查詢語(yǔ)句,并生成一個(gè)DataReaderconn.Open()reader = cmd.ExecuteReader()'讀取查詢到的數(shù)據(jù),并返回給相應(yīng)的屬性While reader.Read()'獲取數(shù)據(jù)庫(kù)中相應(yīng)字段的數(shù)據(jù)DALUserInfo.UserID = reader.GetString(0).ToStringDALUserInfo.UserPassword = reader.GetString(1)End While'返回查詢到的實(shí)體'關(guān)閉連接Return DALUserInfoconn.Close()End Function End Class? ? ? ? ??實(shí)體層
<span style="font-size:24px;">'實(shí)體層 Public Class User_Info'定義實(shí)體類UserInfo'聲明數(shù)據(jù)庫(kù)中字段信息Private _UserID As StringPublic Property UserID As String'讀數(shù)據(jù)GetReturn _UserIDEnd Get'寫數(shù)據(jù)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>總結(jié)
以上是生活随笔為你收集整理的三层登录VB.NET实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 三层登录C#实现
- 下一篇: XML Schema简介