機房收費系統——修改密碼
阿新 • • 發佈:2018-12-20
對於修改密碼也是一個比較熟悉的窗體了,在做學生資訊系統時有一個問題沒有解決:每次開啟程式改密碼原密碼驗證都是登入時用的那個密碼,即改密碼後再改密碼驗證的不是新密碼,而是舊密碼。當時用的是用文字框傳值,為了避免此類現象對修改次數進行了限制,每次登入只能改一次密碼。現在又遇到改密碼窗體,這次對資料庫有了更深的認識,所以充分利用了資料庫的特點,完成了完美的改密碼驗證功能。這次把用文字框傳值改為用資料庫傳值,資料庫可以把很多條資料同時儲存、還可以進行資料更新,這是控制元件所不具備的。
體會到了這些,接下來就看程式碼部分:
Private Sub cmdok_Click() '連線user表 strSQL_user = "select * from user_info where pwd='" & Trim(txtmiold.Text) & "'" Set mrc_user = ExecuteSQL(strSQL_user, MsgString) '空值 If Trim(txtmiold.Text) = "" Then MsgBox "請輸入原密碼進行驗證", , "提示" txtmiold.SetFocus Exit Sub End If If Trim(txtmi.Text) = "" Then MsgBox "請輸入修改後的密碼", , "提示" txtmi.SetFocus Exit Sub End If If Trim(txtmiok.Text) = "" Then MsgBox "請確認密碼", , "提示" txtmiok.SetFocus Exit Sub End If '原密碼一致 If mrc_user.EOF Then MsgBox "原密碼驗證失敗", , "提示" txtmiold.Text = "" txtmiold.SetFocus Exit Sub End If '驗證新密碼與原密碼一致 If Trim(txtmi.Text) = Trim(txtmiold.Text) Then MsgBox "新密碼不能和近期用過的密碼相同", , "提示" txtmi.Text = "" txtmiok.Text = "" txtmi.SetFocus Exit Sub End If '確認密碼 If Trim(txtmiok.Text) <> Trim(txtmi.Text) Then MsgBox "兩次密碼輸入不一致", , "提示" txtmi.Text = "" txtmiok.Text = "" txtmi.SetFocus Else mrc_user.Fields(1) = Trim(txtmiok.Text) mrc_user.Update MsgBox "修改成功", , "提示" txtmiold.Text = "" txtmi.Text = "" txtmiok.Text = "" End If End Sub