在改這個功能中我用到了兩個窗體,一個用來獲取原來的用戶號,另一個用來獲取現在的密碼,下面我就來詳細說明一下:
同樣,實體層:
<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>
第一個窗體:
<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>