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

    在改這個功能中我用到了兩個窗體,一個用來獲取原來的用戶號,另一個用來獲取現在的密碼,下面我就來詳細說明一下:

同樣,實體層:

<span style="font-family:KaiTi_GB2312;font-size:24px;">''' <summary>
''' 實體層,存放多種屬性
''' </summary>
''' <remarks></remarks>
Public Class User
    '定義UserName屬性
    Private _UserName As String
    Public Property UserName As String
        Get
            Return _UserName
        End Get

        Set(value As String)
            _UserName = value
        End Set
    End Property

    '定義PassWord屬性
    Private _PassWord As String '
    Public Property PassWord As String
        Get
            Return _PassWord
        End Get

        Set(value As String)
            _PassWord = value
        End Set
    End Property




End Class
</span>


UI層:

第一個窗體:

<span style="font-family:KaiTi_GB2312;font-size:24px;">Public Class Form1
    '改
    Private Sub btnChange_Click(sender As Object, e As EventArgs) Handles btnChange.Click
        frmChange.Show()                '調用改的窗體

    End Sub

End Class
</span>


第二個窗體:

<span style="font-family:KaiTi_GB2312;font-size:24px;">Public Class frmChange

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnChange.Click
        Try
            '獲得表現層的數據
            Dim nuser As New LoginMODEL.User              '實例化一個新的實體,用來傳遞B層的實體

            nuser.UserName = txtUserName.Text.Trim           '將用戶名傳遞給實體層的UserName
            nuser.PassWord = txtPassWord.Text.Trim            '將密碼傳遞給實體層的PassWord

            '調用B層,登錄判斷
            Dim mgr As New LoginBLL.UserMananger
            Call mgr.ChangeBLL(nuser)

        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 UserMananger
    '改

    Public Sub ChangeBLL(ByVal User As LoginMODEL.User)
        Dim uDAO As New LoginDAL.SqlserverUser

        '查詢用戶是否存在,如果存在修改密碼,如果不存在提示框
        Dim mUser As LoginMODEL.User
        Call uDAO.ChangDAL(User)

        If IsNothing(mUser.UserName) Then
            MsgBox("用戶不存在,請重新輸入", , "警告")
        Else
            Call uDAO.ChangDAL(User)            '調用修改功能
        End If

    End Sub

End Class
</span>

<span style="background-color: rgb(255, 255, 255);"><span style="font-family:KaiTi_GB2312;font-size:24px;color:#3333ff;"><strong>DAL層:</strong></span></span>
<span style="background-color: rgb(255, 255, 255);"></span><pre name="code" class="vb"><span style="font-family:KaiTi_GB2312;font-size:24px;">' 引用命名空間
Imports System.Data
Imports System.Data.SqlClient
Imports LoginMODEL


Public Class SqlserverUser
    Public conn As New SqlConnection("server=ZY-PC;database=Login;user id=sa;password =1")          '創建數據庫的連接

    '改
    Public Sub ChangDAL(ByVal User As User)

        Dim sql As String = "update T_Users set PassWord=@PassWord where UserName=@User"        '更新數庫的SQL語句
        Dim cmd As New SqlCommand(sql, conn)
        cmd.CommandText = sql
        cmd.CommandType = CommandType.Text
      
        cmd.Parameters.Add(New SqlParameter("@User", User.UserName))
        cmd.Parameters.Add(New SqlParameter("@PassWord", User.PassWord))
        conn.Open()
        cmd.ExecuteNonQuery()       '執行對數據庫的操作
        conn.Close()
    End Sub

End Class</span>



發佈了56 篇原創文章 · 獲贊 4 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章