vb.net 简单登录界面(三层架构思想)
上篇博客介绍了面向过程思维设计的vb.net登录界面,这篇文章就简单介绍一下我用三层架构思想实现的vb.net登录功能吧,还请高手多多指点,初次使用三层架构思想,使用难免有错误之处!
1.登录界面主要功能 此登录界面只是简单的实现了与数据库连接,登录成功时提示:‘登录成功!’,登录失败时提示:'登录失败!'。单击取消按钮可退出此系统。
2.数据库设计 根据功能介绍,此数据库设计比较简单,在此我只设计了一张表,跟上篇博客中使用的数据库相同,在此展现下数据库表的内容。 UserInfo数据表表结构,如图
我在数据表中添加的几条用户信息,如图 3.在vs2010中,vb.net的登录操作 运用三层架构思想来实现上机登录,不得不提提三层,看到下图了么,是不是对三层又有了深的认识。 三层架构各层之间的引用:
三层架构的具体应用原则:
下面说一下vb.net中登录的操作
看到这幅图了嘛,下面咱来说说各层之间的具体实现。 ①对UI显示层,界面设计如图
"UI显示层"代码设计
Public Class UserLogin '单击确定按钮,判断登录成功与否。 Private Sub btnOk_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles btnOk.Click Dim LoginUser As New LoginEntity.e_UserInfo '定义一个LoginEntity.e_UserInfo对象 Dim Bcheck As New LoginBLL.LoginManager '定义一个LoginBLL.LoginManager对象 LoginUser.UserID = txtUserName.Text() LoginUser.Password = txtPassword.Text() '采集用户信息,展现登录结果 If Bcheck.SelectUIandEntity(LoginUser) Then MsgBox("登录成功!") Else MsgBox("登录失败!") End If End Sub '退出系统 Private Sub btnCancel_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles btnCancel.Click End End Sub End Class ②"业务逻辑层"代码设计
Imports LoginEntity Imports LoginDAL.UserDAO 'B层业务处理(逻辑),做判断 Public Class LoginManager Function SelectUIandEntity(ByVal User As LoginEntity.e_UserInfo) As Boolean Dim DalUser As New LoginDAL.UserDAO Dim EntityUser As New LoginEntity.e_UserInfo EntityUser.UserID = User.UserID EntityUser = DalUser.selectUserInfoFormUserInfoTable(EntityUser) '判断操作 If EntityUser.Password = User.Password Then Return True Else Return False End If End Function End Class ③ "数据访问层"代码设计
'引用命名空间 Imports System.Data.SqlClient Imports LoginEntity Public Class UserDAO '连接数据库 Dim sqlConnectStr As String = "server=waly-pc;database=Login;uid=sa;pwd=123456;" Dim sqlConnection1 As SqlConnection = New SqlConnection(sqlConnectStr) '自定义检查参数 Function selectUserInfoFormUserInfoTable(ByVal User As LoginEntity.e_UserInfo) As LoginEntity.e_UserInfo Dim sql As String = "select * from UserInfo where UserID='" & User.UserID & "'" 'sql语句 Dim cmd As SqlCommand = New SqlCommand(sql,sqlConnection1) '定义sqlCommand对象 Dim read As SqlDataReader '定义sqlDataReader对象 Dim UserDataTable As New DataTable '定义一个DataTable对象 Dim User1 As New LoginEntity.e_UserInfo Try sqlConnection1.Open() read = cmd.ExecuteReader() UserDataTable.Load(read) User1.UserID = UserDataTable.Rows(0)("UserID") '感觉这一行和下一行代码应该写到B层的,可是写过去总是出错 User1.Password = UserDataTable.Rows(0)("UserPassword") Return User1 Catch ex As Exception User1.Password = "" Return User1 Finally If Not IsNothing(sqlConnection1) Then sqlConnection1.Close() End If End Try End Function End Class ④ "实体层"代码设计
'引用命名空间 Imports System.Collections.Generic Imports System.Linq Imports System.Text '声明用户的两个属性值:UserID 和 Password Public Class e_UserInfo Private e_UserID As String Public Property UserID As String Get Return e_UserID End Get Set(ByVal value As String) e_UserID = value End Set End Property Private e_Password As String Public Property Password As String Get Return e_Password End Get Set(ByVal value As String) e_Password = value End Set End Property End Class
注:此Demo源码以上传至:VB.NET用户登录(三层架构思想)
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |