ADO之密碼驗證 3次錯誤就鎖定 改進

2022-01-28 23:59:51 字數 1716 閱讀 6890

這裡使用了sqlhelper,簡化程式

自己寫乙個sqlhelper,把資料庫的連線等都寫到裡面去。

首先把連線字串新增到配置檔案裡去,右鍵解決方案-->新增新建項-->選擇應用程式配置檔案

新增乙個下欄位,紅色部分為新新增的**,name欄位一定要寫,下面的使用就是靠這個關鍵字

1

<?xml version="1.0"?>

23

4 6

7

8configuration>

在sqlhelper類中新增乙個變數,並定義函式

1

private

static

string constr = configurationmanager.connectionstrings["

dbconn

"].connectionstring;23

public

static datatable executedatatable(string sql, params

sqlparameter parameters)417

}18 }

這些操作只是把**給提出來,不用每次使用都去寫下所有**。

然後就是函式響應了,非常簡潔

1

private

void btn_login_click(object

sender, routedeventargs e)28

if (pwdpassword.password.length <= 0)9

1314

datatable table = sqlhelper.executedatatable("select * from userinfo where userid=@user", new sqlparameter("@user", tb_userid.text));

1516

if (table.rows.count <= 0)17

21//

要對不可能發生的情況進行做處理,斷言 assert

22else

if (table.rows.count > 1)23

2627 datarow row = table.rows[0

];28

string dbpassword = row["

password

"].tostring();

29long id = (long)row["

id"];//

獲取id,這是資料庫新增加的乙個標識字段,沒有實際意義,但可以用來資料判斷

30int errortimes = (int)row["

errortimes

"];//

獲取錯誤次數

31if (errortimes >= 3)32

36if (dbpassword !=pwdpassword.password)37

44else

4548 }

感覺這樣一寫,比上個程式簡單很多,bug也要少很多。

ADO之密碼驗證 3次錯誤就鎖定

這個程式是那vs2010下寫的,c 語言。資料庫是sql server 2008 首先在資料庫中新建乙個資料庫test1,在資料庫中新建乙個表用來儲存使用者名稱和密碼userinfo,1 create table userinfo2 3 userid varchar 12 not null prim...

06 密碼錯誤3次鎖定

usr bin env python coding utf8 author felix zheng count 0 計數器 username 111 登入使用者名稱 userpassword 111 登入密碼 讀取黑名單使用者 f open back user r file list f.readl...

tp5 實現 登入密碼錯誤3次 賬戶鎖定5分鐘

這樣也是常用的,記吧,記吧 為什麼這個富文字木有表情了!emmmm 此功能所涉字段 斜體,下劃線處即此功能 count 計算密碼錯誤次數 status 使用者狀態 1為正常 0為鎖定 last time 賬戶最後登入時間 public function login 判斷賬戶狀態 0為鎖定 if re...