日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

三层登录VB.NET实现

發(fā)布時(shí)間:2025/3/20 asp.net 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三层登录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)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。