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