C# winform實現(xiàn)登陸次數(shù)限制
我們在網(wǎng)上登陸的時候有些網(wǎng)站在用戶多次輸錯密碼之后會自動把賬戶凍結,不能在進行登陸,小編這次做的winform程序就是要實現(xiàn)這種功能,具體內(nèi)容如下
功能一:根據(jù)數(shù)據(jù)庫字段判斷用戶名和密碼是否匹配;
功能二:如果輸入錯誤自動記錄連續(xù)錯誤次數(shù);
功能三:如果用戶登陸成功之后會自動清除錯誤次數(shù),使用戶仍然可以連續(xù)登陸3次;
首先在winform窗體上拖入兩個label和textbox,textbox分別命名為txbUserName,txbPassWord;然后在拖入一個button按鈕;雙擊button按鈕寫按鈕事件,代碼如下:
private void button1_Click(object sender, EventArgs e)
{
using (SqlConnection con = new SqlConnection("server=.; database=text; integrated security=SSPI;"))
{
using (SqlCommand com = new SqlCommand())
{
com.CommandText = "select * from T_Users where UserName=@username";
com.Connection = con;
con.Open();
com.Parameters.Add(new SqlParameter("username", txbUserName.Text));
//com.Parameters.Add(new SqlParameter("password", textBox2.Text));
using (SqlDataReader read = com.ExecuteReader())
{
if (read.Read())
{
int errortimes = read.GetInt32(read.GetOrdinal("ErrorTimes")); //讀取錯誤登陸次數(shù)
if (errortimes >= 3) //判斷錯誤次數(shù)是否大于等于三
{
MessageBox.Show("sorry 你已經(jīng)不能再登陸了!");
}
else
{
string passwored = read.GetString(read.GetOrdinal("PassWord"));
if (passwored == txbPassWord.Text)
{
MessageBox.Show("登陸成功!");
this.qingling(); //登陸成功把錯誤登陸次數(shù)清零
}
else
{
MessageBox.Show("登陸失??!");
this.leiji(); //登陸失敗把錯誤登陸次數(shù)加一
}
}
}
}
}
}
}
累加錯誤登陸次數(shù)函數(shù):
public void leiji()
{
using (SqlConnection con = new SqlConnection("server=.; database=text; integrated security=SSPI;"))
{
using (SqlCommand com = new SqlCommand())
{
com.Connection = con;
com.CommandText = "update T_Users set ErrorTimes=ErrorTimes+1 where UserName=@username";
com.Parameters.Add(new SqlParameter("username", txbUserName.Text));
con.Open();
com.ExecuteNonQuery();
}
}
}
清零錯誤登陸次數(shù)函數(shù):
public void qingling()
{
using (SqlConnection con = new SqlConnection("server=.; database=text; integrated security=SSPI;"))
{
using (SqlCommand com = new SqlCommand())
{
com.Connection = con;
com.CommandText = "update T_Users set ErrorTimes=0 where UserName=@username";
com.Parameters.Add(new SqlParameter("username", txbUserName.Text));
con.Open();
com.ExecuteNonQuery();
}
}
}
在button事件的代碼中小編使用了using,關于using的用法與好處在《談C# using的用法與好處》中已經(jīng)寫過。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助。
- Oracle 添加用戶并賦權,修改密碼,解鎖,刪除用戶的方法
- Oracle新建用戶、角色,授權,建表空間的sql語句
- [Oracle] 如何使用觸發(fā)器實現(xiàn)IP限制用戶登錄
- Zend Framework框架的session會話周期及次數(shù)限制使用示例
- perl腳本實現(xiàn)限制ssh最大登錄次數(shù)(支持白名單)
- ORACLE 10G修改字符編碼沒有超字符集的限制
- javascript Deferred和遞歸次數(shù)限制實例
- Java用Cookie限制點贊次數(shù)(簡版)
- java發(fā)送短信系列之限制日發(fā)送次數(shù)
- Oracle用戶連續(xù)登錄失敗次數(shù)限制如何取消
相關文章
淺談C#中ToString()和Convert.ToString()的區(qū)別
本文介紹了ToString()和Convert.ToString()的使用方法,他們之間的區(qū)別,以及從object到string的轉(zhuǎn)換方法,希望對學習C#編程的你有所幫助2016-11-11
C#使用HttpWebRequest與HttpWebResponse模擬用戶登錄
這篇文章主要為大家詳細介紹了C#使用HttpWebRequest與HttpWebResponse模擬用戶登錄,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04

