因为之前机房重构无从下手,所以师父给我的建议是自己试着先敲三层的增、删、改、查,机房重构大都无非是围绕着对数据库的操作进行展开的。实事证明,师父是正确的。现如今敲完三层登录又在此基础上敲了三层的增删改查,顿时感觉对机房重构豁然开朗,嘿嘿!
由于三层登录增删改查这四块内容着实太多。经一番“苦思冥想”之后,决定将这些内容分别分为四块:增、删、改、查。
下面先向大家介绍“增”:
首先是建立数据库,和之前一样这里就不再说明了。
接着就是代码的编写,如下:
实体层:
<span style="font-family:KaiTi_GB2312;font-size:24px;">''' <summary> ''' 实体层,存放多种属性 ''' </summary> ''' <remarks></remarks> Public Class User '定义UserName属性 Private _UserName As String Public Property UserName As String Get Return _UserName End Get Set(value As String) _UserName = value End Set End Property '定义PassWord属性 Private _PassWord As String ' Public Property PassWord As String Get Return _PassWord End Get Set(value As String) _PassWord = value End Set End Property End Class </span>
U层:
<span style="font-family:KaiTi_GB2312;font-size:24px;">Public Class Form1 '查询 Private Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnSelect.Click Try '获得表现层的数据 Dim muser As New LoginMODEL.User '实例化一个新的实体,用来传递B层的实体 muser.UserName = txtUserName.Text.Trim '将用户名传递给实体层的UserName muser.PassWord = txtPassWord.Text.Trim '将密码传递给实体层的PassWord '调用B层,登录判断 Dim mgr As New LoginBLL.SelectBLL muser = mgr.SelectBLL(muser) Catch ex As Exception MessageBox.Show(ex.Message.ToString()) '错误处理 End Try End Sub End Class </span>
B层:
<span style="font-family:KaiTi_GB2312;font-size:24px;">'查 Public Class SelectBLL Public Function SelectBLL(ByVal User As LoginMODEL.User) As LoginMODEL.User Dim uDao As New LoginDAL.SqlserverUser() '实例化D层中新的UserDAO对象 Dim mUser As LoginMODEL.User '定义一个类型为实体层参数,用户赋值 mUser = uDao.SelectDAL(User) '判断是否查询到记录 If IsNothing(mUser.UserName) Then Throw New Exception("查询失败,请检查用户名和密码!") '没有记录 Else MsgBox("查询成功,恭喜!", , "提示框") '有记录 End If Return mUser '返回实体 End Function End Class</span>
D层:
<span style="font-family:KaiTi_GB2312;font-size:24px;">' 引用命名空间 Imports System.Data Imports System.Data.SqlClient Imports LoginMODEL 'D层,主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,需要引用实体层 '查 Public Class SqlserverUser Public conn As New SqlConnection("server=ZY-PC;database=Login;user id=sa;password =1") '创建数据库的连接 Public Function SelectDAL(ByVal User As User) As LoginMODEL.User '传实体Login,方便对实体中的参数进行调用 Dim reader As SqlDataReader '定义类型为SQLDATAREADER的变量reader Dim mUser As New LoginMODEL.User Dim sql As String = "select UserName,passWord from T_Users where [email protected] and [email protected]" '数据库查询语句 Dim cmd As New SqlCommand(sql, conn) '创建sqlcommand对象 cmd.CommandText = sql '获取SQL语句的具体内容 cmd.CommandType = CommandType.Text '获取上述SQL语句的具体类型 cmd.Parameters.Add(New SqlParameter("@UserName", User.UserName)) cmd.Parameters.Add(New SqlParameter("@PassWord", User.PassWord)) conn.Open() '打开数据连接 reader = cmd.ExecuteReader() '执行查询语句,并生成一个DataReader '读取查询到的数据,并返回给相应的属性 While reader.Read() mUser.UserName = reader.GetString("UserName") '给@UserName赋值 mUser.PassWord = reader.GetString("PassWord") '给@PassWord赋值 End While Return mUser '返回查询到的实体 conn.Close() '关闭连接 End Function End Class</span>
时间: 2024-10-12 21:06:57