在做完这四个功能之后感觉“查”是这四个功能里面算最简单的了,下面就来看看它是怎么实现的吧:
实体层,就不说了和前三个功能是一样的。
UI层:
<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>
BLL层:
<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>
DAL层:
<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 UserName=@UserName and PassWord=@PassWord" '数据库查询语句
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>