上篇博客中,我们通过VB.NET利用面向过程思想将登录实例实现了,这次我们将三层思想加入登录实例,下面来看下我们的实现过程,欢迎大家指正。
关于我们登录所用的数据库我们还是用上篇博客中所建立的数据库,所用关于数据库的信息我就不再这里重复了。
下面我们来看下我们的具体实现。
首先我们先来看下我们三层的项目。
接下来是它们之间的引用关系
即
UI层引用BLL层和实体层
BLL层引用DAL层和实体层
DAL层引用实体层
接下来看下我们的界面
再往下就是我们的代码部分
首先我们先看的是实体层:
Public Class ModelUser
'声明私有字段
Private _UserName As String
Private _UserPWD As String
'声明数据库表中的字段信息
Public Property strUser_Name() As String
Get
Return _UserName
End Get
Set(value As String)
_UserName = value
End Set
End Property
Public Property strUser_PWD() As String
Get
Return _UserPWD
End Get
Set(value As String)
_UserPWD = value
End Set
End Property
End Class
然后是UI层
Public Class frmLogin
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub btnOk_Click(sender As Object, e As EventArgs) Handles btnOk.Click
'输入框进行限制
If txtUserName.Text = "" Then
MsgBox("账号输入不得为空!", MsgBoxStyle.Information)
Else
If txtPWD.Text = "" Then
MsgBox("密码输入不得为空!", MsgBoxStyle.Information)
End If
End If
Dim ModelUi As Model.ModelUser = New Model.ModelUser '声明并实例化实体对象
Dim BCheck As Login.BLL.BManage = New BLL.BManage '声明并实例化
'将界面信息传入实体
ModelUi.strUser_Name = txtUserName.Text.Trim
ModelUi.strUser_PWD = txtPWD.Text
'将B层传来的结果进行显示
If BCheck.LoginManage(ModelUi) = ChrW(1) Then
MsgBox("账号输入错误!")
txtUserName.Focus()
txtUserName.SelectAll()
ElseIf BCheck.LoginManage(ModelUi) = ChrW(2) Then
MsgBox("登录成功!")
ElseIf BCheck.LoginManage(ModelUi) = ChrW(3) Then
MsgBox("密码输入错误!")
txtPWD.Focus()
txtPWD.SelectAll()
End If
End Sub
Private Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.Click
Me.Close()
End Sub
End Class
接下来是BLL层
Public Class BManage
Public Function LoginManage(ByVal User As Login.Model.ModelUser) As Char
'声明并实例化D层和实体层的方法
Dim DalManage As Login.DAL.DalManage = New DAL.DalManage
Dim ModelBll As Login.Model.ModelUser = New Model.ModelUser
'将U层传来的信息传入D层
ModelBll.strUser_Name = User.strUser_Name
ModelBll = DalManage.DalManage(ModelBll)
'将D层传来的信息与U层传来的信息进行逻辑判断
If ModelBll.strUser_PWD = Nothing Then '账号错误
Return ChrW(1)
Else
If ModelBll.strUser_PWD = User.strUser_PWD Then '登陆成功
Return ChrW(2)
Else
Return ChrW(3) '密码错误
End If
End If
End Function
End Class
最后是我们的DAL层
Public Class DalManage
'数据源连接
Dim cnStr As String = "data source=zwk-PC;initial catalog=SanCeng;user id=sa;password=zwk;"
Dim cn As SqlClient.SqlConnection = New SqlClient.SqlConnection(cnStr)
Public Function DalManage(ByVal User1 As Login.Model.ModelUser) As Login.Model.ModelUser
'进行数据查询 查询数据放到DataReader中
cn.Open()
Dim strSQL As String = "select * from TLoginUser where strUser_ID='" & User1.strUser_Name & "'"
Dim cmd As SqlClient.SqlCommand = New SqlClient.SqlCommand(strSQL, cn)
cmd.CommandText = strSQL
Dim dr As SqlClient.SqlDataReader = cmd.ExecuteReader()
'声明并实例化实体类
Dim ModelDal As Login.Model.ModelUser = New Model.ModelUser
'从DataRead中查询信息,并返回实体类
Try
If dr.Read() Then
ModelDal.strUser_PWD = dr("strUser_PWD").ToString()
Return ModelDal
Else
Return ModelDal
End If
Catch ex As Exception
Return ModelDal
Finally
dr.Close()
cn.Close()
End Try
End Function
End Class
我们运行的结果分别是以下三种情况
密码错误
账号错误
登录成功
到此我们的用三层思想所做的登录例子就实现了。
这是初次用三层所实例的例子,如有不足,请大家多多指正。
分享到:
相关推荐
VB.NET的人机界面具有易写性,但是基于该语言的算法很少,多数情况下要与速度较慢的Matlab控件结合,在做一些信号处理应用的时候几乎成为编程菜鸟的瓶颈。网上关于FFT的源代码很多,大多数是用C语言写的,用VB.NET写...
VB.NET 初学者教程 VB.NET 初学者教程 VB.NET 初学者教程 VB.NET 初学者教程 VB.NET 初学者教程
VB具有丰富数据类型是种符合结构化设计思想语言而且简单易学此外作为种设计语言VB还有 ...许多独到的处,本工程为vb.net2010制作的简单12选5和12选3选号程序,使用了随机数和for循环语句,仅供新入门的菜鸟参考.
在VS2008环境下开发,配置config.ini文件,一个设置为“发送端",另一个设置为"接收端”,用串口线链接两个PC机串口,可通信。其实是一个半成品,仅供菜鸟学习参考,如有不足之处,也请批评指正!
可以把VB.NET转换C#工具,装换率99%。
把待机变成灰色,屏蔽待机 相信好多人都找了很久。。 菜鸟们,我们一起加油!!
本人做菜鸟时整理的,实际项目中遇到的大小问题。入门级也应了解的,概念性东西较多,有助于深入理解逻辑结构。...使用vb.net开发网站时,涉及到的知识点。以项目中从简到难的部分所涉及到的顺序排序。
SQL Server 2000菜鸟入门 chm SQL参考手册 chm UltraEdit教程 chm VB NET面向对象的实现 chm vbapi函数手册 chm vbscript语言参考 chm vbscript速查手册 chm VBSCRIP语言参考 CHM VC++ 编程指南 chm vc新手学堂 chm ...
代码难度不大,因为本人是vb菜鸟,或者可以说一个不是学计算机这一行的,但是其中也有一些自己的创新设计,做到与专业软件不一样,适合个人使用。 主要功能: 1、利用wmp能够播放任何音频文件,能够播放任何路径的...
电子版的Python GUI设计之Tkinter菜鸟编程,一般是扫描图片组成的PDF或网页版 ,不支持查找操作,特整理成Word版并分享。
1、借助本机windows media player实现播放功能(菜鸟通用方法、写播放器内核不现实) 2、路径列表与音乐列表对应实现任意路径播放 3、借用列表框TopIndex属性和鼠标位置与列表索引值换算实现光标跟随 4、选择...
《实战C#.NET编程----Spring.NET & NHibernate从入门到精通》代码 版本:V0.50 BoolsSample 项目代码 NHibernateSample 项目代码 SpringSample 项目代码 SpringNhibernateSample 项目代码 这个是代码部分 pdf我也...
第三篇“数据库编程技术”——本篇详细介绍了数据库编程的基础、ADO.NET数据库编程的基础、ADO.NET数据库基本连接和操作、Dataset的用法和数据绑定等技术,是制作动态页面、BBS、电子商务网站的等网站应用程序的基础...
Visuai Basic.NET编程培训教程 Visuai Basic.NET编程培训教程
微软C++.NET 编程规范,微软C++.NET 编程规范,微软C++.NET 编程规范,微软C++.NET 编程规范
第三篇 “数据库编程技术”——本篇详细介绍了数据库编程的基础、ADO.NET数据库编程的基础、ADO.NET数据库基本连接和操作、Dataset的用法和数据绑定等技术,是制作动态页面、BBS、电子商务网站的等网站应用程序的...
有些自学的人觉得三层什么的很深奥尤其是刚学的,这里我给出简单的三层构架,让菜鸟也看的懂的三层构架~~希望对刚学的人有帮助
第三篇 “数据库编程技术”——本篇详细介绍了数据库编程的基础、ADO.NET数据库编程的基础、ADO.NET数据库基本连接和操作、Dataset的用法和数据绑定等技术,是制作动态页面、BBS、电子商务网站的等网站应用程序的...
ASP.NET精美个人网站管理系统很适合菜鸟学习用ASP.NET精美个人网站管理系统很适合菜鸟学习用ASP.NET精美个人网站管理系统很适合菜鸟学习用
asp.net asp.net asp.net asp.net asp.net asp.net asp.net asp.net asp.net asp.net asp.net asp.net asp.net asp.net asp.net asp.net