首頁 >資料庫 >mysql教程 >三层数据库四大法宝之“查”

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

WBOY
WBOY原創
2016-06-07 15:15:481173瀏覽

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

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>


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


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn