正文

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

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


1.5 登錄模塊設(shè)計

1.5.1 登錄模塊概述

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

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

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

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

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

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

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

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

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

DataCon datacon = new DataCon();

DataOperate dataoperate = new DataOperate();

單擊“登錄”按鈕,首先判斷是否輸入了用戶名,如果沒有輸入用戶名,彈出信息提示框,提示用戶名不能為空;否則,系統(tǒng)會判斷輸入的用戶名和密碼是否與數(shù)據(jù)庫中記錄相符。如果符合,則隱藏當(dāng)前窗體,并顯示主窗體;否則,彈出“用戶名或密碼錯誤”信息提示?!暗卿洝卑粹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(); //清除錯誤提示信息

        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(); //實例化主窗體對象

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

        }

        else

        {

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

        }

    }

}

U 代碼貼士

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

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

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

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

 


上一章目錄下一章

Copyright ? 讀書網(wǎng) www.dappsexplained.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號