登錄表結構及數據
1)前期準備
1.1 表中隻有三個字段,滿足此次例題的需求即可;真實的登錄表中字段像登錄的時間,地點,IP等很多的字段,用來記錄用戶的登錄信息;想想哪些推薦給你令你欲罷不能的"專屬"廣告....此次隻是講解登錄與修改密碼的實現邏輯暫時不用三層架構與模态窗口,登錄實現邏輯簡單些,主要是修改密碼的實現邏輯;自己有空的修改下使其成為三層架構的項目
1.2 SQLHelper幫助類,編寫配置文件的信息,添加對Configuration類庫的引用
2)實現登錄
登錄窗口
登錄的實現邏輯是登錄成功後将用戶名(Lname)顯示在登錄窗口的标題欄上,因為後面還需要修改密碼,所以将獲取該用戶的整條記錄,将獲取的用戶Id暫時存儲在類(Global)的Lid中
登錄成功存儲當前該用戶的Id
登錄實現代碼
登錄成功将用戶Id存儲在一個全局的公共類中,在修改密碼時需要用到
3)修改密碼
為"修改密碼"添加一個單擊事件,觸發此事件将打開一個修改密碼的窗口,前提是必須登錄成功的用戶才能修改密碼,否則不能修改密碼;為确定按鈕添加一個單擊事件
修改密碼窗口
打開修改密碼窗口的兩個方式:
3.1判斷公共類(Global)中的Lid是否大于0(數據庫表中的主鍵Lid從1開始),如果大于0表示成功登錄,Lid中存儲了該用戶的Lid,修改時也是根據Lid修改當前用戶的密碼
3.2如果沒有成功登錄,"修改密碼"按鈕就不能使用;設置此按鈕的屬性Enabled為false,當用戶登錄成功後将按鈕的Enabled屬性值設置為true即可
沒有登錄,修改密碼按鈕為灰色,登錄成功後,代碼中的Enabled才起作用
3.3修改密碼的實現邏輯
1)首先判斷新密碼與确認密碼是否一緻,不一緻就不去數據庫查詢數據
判斷新密碼是否一緻
接收的密碼不能使用Trim()方法(作用是去掉字符串兩端空格),可以試試為自己電腦設置密碼全部為空格,如果電腦系統内部也使用Trim()方法就永遠登錄不了
2)驗證輸入的舊密碼是否與當前用戶的密碼一緻(Global中存儲了當前用戶的Lid)
舊密碼錯誤,不能修改密碼
可以将此驗證代碼提取為一個返回布爾值的方法,便于截圖沒有提取為方法
3)修改密碼
修改密碼
4)修改密碼完善
4.1修改密碼時沒有檢測新舊密碼是否一樣,如果一樣就不去數據庫中修改,節省資源
4.2沒有使用加密的密碼,可以試着将之前學習的MD5"加密"加入進來
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!