三層數據庫四大法寶之“查”

    在做完這四個功能之後感覺“查”是這四個功能裏面算最簡單的了,下面就來看看它是怎麼實現的吧:

    實體層,就不說了和前三個功能是一樣的。

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>


    數據庫四大法寶到此就已經全部介紹完了,當然這是三層數據庫中“天然去雕飾”最基礎、最樸素的,還需要經過我們進一步的加工和完善。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章