ACCESS 資料庫管理帳號及密碼後,修改密碼的功能也必需自行建立。


VS2005中建立網站(AccessChangePd),模仿「以Access資料庫管理帳號密碼」方式建立登入網頁(login.aspx)及登入後網頁(main.aspx)。其中 main.aspx 加入 LoginView 控制項及一個按鈕來連結「修改密碼」功能。



建立 ChangePd.aspx 網頁做為修改密碼的網頁,拖曳 ChangePassword 控制項到設計視窗中。



ChangePd.aspx.vb 中輸入下列程式碼:


    Protected Sub ChangePassword1_ChangingPassword(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LoginCancelEventArgs) Handles ChangePassword1.ChangingPassword


        ' 取出Access資料庫登入者的資料


        Dim ads As New AccessDataSource("~/app_data/db1.mdb", "")


        Dim SqlStr As String = "select * from table1 where name='" & Context.User.Identity.Name & "'"  '


        ads.SelectCommand = SqlStr


        Dim dv As Data.DataView


        dv = ads.Select(New DataSourceSelectArguments)


        Dim a As String = ChangePassword1.CurrentPassword.ToString


        Dim b As String = ChangePassword1.NewPassword.ToString


        ' 檢查原密碼是否正確?


        If dv(0)("passwd").ToString = a Then


            ' 如果正確就將新密碼寫入自己的資料庫


            SqlStr = "update table1 set passwd='" & b & "' where name='" & Context.User.Identity.Name & "'"


            ads.UpdateCommand = SqlStr


            ads.Update()


            ' 系統會比對預設資料而出現錯誤,可導向自行撰寫的網頁


            Response.Redirect("main.aspx")


        End If


    End Sub


至此完成修改密碼網頁。執行 login.aspx,以「a1」登入後,按「修改密碼」鈕,輸入原始密碼「aaaaa」,新密碼設為「yy」。



開啟 Access 資料庫查看 table1,可以見到密碼已改為「yy」。



 


下載範例檔案
arrow
arrow
    全站熱搜

    tsjeng 發表在 痞客邦 留言(0) 人氣()