在做完这四个功能之后感觉“查”是这四个功能里面算最简单的了,下面就来看看它是怎么实现的吧: 实体层,就不说了和前三个功能是一样的。 UI层: span style=font-family:KaiTi_GB2312;font-size:24px;Public Class Form1 查询 Private Sub btnLogin_Click(
在做完这四个功能之后感觉“查”是这四个功能里面算最简单的了,下面就来看看它是怎么实现的吧:
实体层,就不说了和前三个功能是一样的。
UI层:
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
'查
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
' 引用命名空间
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