欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

三层数据库四大法宝之“查”

程序员文章站 2024-01-25 21:06:22
...

在做完这四个功能之后感觉“查”是这四个功能里面算最简单的了,下面就来看看它是怎么实现的吧: 实体层,就不说了和前三个功能是一样的。 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

BLL层:
'查
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

DAL层:
' 引用命名空间
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


数据库四大法宝到此就已经全部介绍完了,当然这是三层数据库中“天然去雕饰”最基础、最朴素的,还需要经过我们进一步的加工和完善。