正文

家庭視頻監(jiān)控系統(tǒng)(10)

C#項(xiàng)目開發(fā)案例全程實(shí)錄(第2版) 作者:明日科技


1.5 登錄模塊設(shè)計(jì)

1.5.1 登錄模塊概述

系統(tǒng)登錄主要用于對(duì)進(jìn)入家庭視頻監(jiān)控系統(tǒng)的用戶進(jìn)行安全性檢查,以防止非法用戶進(jìn)入該系統(tǒng)。在登錄時(shí),只有合法的用戶才可以進(jìn)入該系統(tǒng)。系統(tǒng)登錄模塊的運(yùn)行結(jié)果如圖1.11所示。

1.5.2  登錄模塊技術(shù)分析

登錄模塊的重點(diǎn)在于將用戶輸入的用戶名和密碼與數(shù)據(jù)庫(kù)中的用戶名和密碼進(jìn)行比較,如果相同將允許用戶進(jìn)入系統(tǒng)的操作界面;否則會(huì)彈出提示框,提示用戶輸入的用戶名或者密碼錯(cuò)誤。該模塊的實(shí)現(xiàn)原理是,根據(jù)用戶輸入的用戶名和密碼在數(shù)據(jù)庫(kù)中查找是否有相符的記錄,并將查詢結(jié)果填充到DataSet數(shù)據(jù)集中,然后判斷該數(shù)據(jù)集中所包含表的行數(shù)是否大于零,如果大于零,則表示輸入的用戶名和密碼正確,從而成功登錄系統(tǒng);否則,彈出提示信息。

1.5.3  登錄模塊實(shí)現(xiàn)過程

  本模塊使用的數(shù)據(jù)表:tb_admin

登錄模塊的實(shí)現(xiàn)過程并不復(fù)雜,具體實(shí)現(xiàn)步驟如下:

(1)新建一個(gè)Windows窗體,命名為frmLogin.cs,主要用于實(shí)現(xiàn)系統(tǒng)的登錄功能。該窗體用到的主要控件如表1.13所示。

(2)frmLogin.cs代碼文件中,首先實(shí)例化公共類DataCon和DataOperate的兩個(gè)全局對(duì)象,通過類對(duì)象調(diào)用類中的功能方法。實(shí)例化DataCon和DataOperate類對(duì)象的關(guān)鍵代碼如下:

例程11  代碼位置:光盤\TM\01\VWMS\VWMS\frmLogin.cs

DataCon datacon = new DataCon();

DataOperate dataoperate = new DataOperate();

單擊“登錄”按鈕,首先判斷是否輸入了用戶名,如果沒有輸入用戶名,彈出信息提示框,提示用戶名不能為空;否則,系統(tǒng)會(huì)判斷輸入的用戶名和密碼是否與數(shù)據(jù)庫(kù)中記錄相符。如果符合,則隱藏當(dāng)前窗體,并顯示主窗體;否則,彈出“用戶名或密碼錯(cuò)誤”信息提示?!暗卿洝卑粹o的Click事件代碼如下:

例程12  代碼位置:光盤\TM\01\VWMS\VWMS\frmLogin.cs

private void btnLogin_Click(object sender, EventArgs e)

{

    if (txtName.Text == "")

    {

u    errorProName.SetError(txtName, "用戶名不能為空!");

    }

    else

    {

        errorProName.Clear(); //清除錯(cuò)誤提示信息

        string strSql = "select * from tb_admin where name='" + txtName.Text + "' and pwd='" + txtPwd.Text + "'";

v   DataSet ds = dataoperate.getDs(strSql, "tb_admin");

w    if (ds.Tables[0].Rows.Count > 0)

        {

            this.Hide(); //隱藏當(dāng)前窗體

            frmMain frmmain = new frmMain(); //實(shí)例化主窗體對(duì)象

            frmmain.Show(); //顯示主窗體

        }

        else

        {

            MessageBox.Show("用戶名或密碼錯(cuò)誤!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);

        }

    }

}

U 代碼貼士

u SetError:該方法用來設(shè)置ErrorProvider控件的提示信息。

v DataSet:根據(jù)用戶輸入的登錄用戶名和密碼在數(shù)據(jù)庫(kù)中查找記錄,并填充到DataSet數(shù)據(jù)集。

w Count:該屬性用來獲得DataSet數(shù)據(jù)集中所包含表的行數(shù)。

當(dāng)輸入用戶名或密碼之后,還可以按Enter鍵將鼠標(biāo)焦點(diǎn)移動(dòng)到下一個(gè)控件上。實(shí)現(xiàn)原理是在輸入用戶名或密碼的文本框的KeyPress事件下,判斷是否按了Enter鍵,如果是,則將焦點(diǎn)移動(dòng)到下一個(gè)控件上。按Enter鍵移動(dòng)鼠標(biāo)焦點(diǎn)的實(shí)現(xiàn)代碼如下:

 


上一章目錄下一章

Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)