国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

人事管理系統(tǒng)實(shí)現(xiàn)(一)

2019-11-11 07:50:48
字體:
供稿:網(wǎng)友

      學(xué)習(xí)C#和Microsoft SQL Server以來,作為一個初學(xué)者的我,第一次有了一個較為完整的小案例的實(shí)現(xiàn),想通過這個案例的實(shí)現(xiàn)過程與各位前輩進(jìn)行交流,如有不足懇請各位前輩指正,希望我們共同進(jìn)步:

         人事管理系統(tǒng)在網(wǎng)上有很多的源碼,卻很少有針對這些源碼進(jìn)行分析的案例,對于初學(xué)者在理解上確實(shí)有一定的困難,往往其中有很多細(xì)節(jié),可能困擾像我這樣的初學(xué)者很長時間。

      一個人事管理系統(tǒng)首先有一個登陸使用的賬號和密碼組成的口令進(jìn)入系統(tǒng),相應(yīng)的應(yīng)該有一個數(shù)據(jù)存放的“容器”,這時候需要使用到數(shù)據(jù)庫來作為這個“數(shù)據(jù)倉庫”,對于數(shù)據(jù)庫的設(shè)計在以后的內(nèi)容中會進(jìn)行補(bǔ)充。

      登陸界面,設(shè)計了一種最常見的類型,設(shè)計界面如下:

                                                                                                                                                                     

      界面利用了TextBox控件接收用戶名和密碼,label控件用于顯示姓名,密碼的文字提示,兩個Button按鈕分別為LogIn和Cancel。

當(dāng)我們輸入用戶名和密碼之后需要將這個組合進(jìn)行驗(yàn)證,這時候我們就需要對數(shù)據(jù)庫進(jìn)行訪問,對于數(shù)據(jù)庫的訪問設(shè)計了一個MyMeans類,這個類放到DataClass文件夾下,這個將在后續(xù)進(jìn)行補(bǔ)充這個類的設(shè)計。

    實(shí)例化MyMeans類的一個對象:

DataClass.MyMeans MyClass = new DataClass.MyMeans();

當(dāng)運(yùn)行時,通過窗體的加載事件來對數(shù)據(jù)庫進(jìn)行連接,連接為一次一連接類型,這樣可以減少資源占用,提高效率。

        PRivate void F_LogIn_Load(object sender, EventArgs e)        {            try            {                MyClass.con_open();                MyClass.con_close();                textName.Text = "";                textPass.Text = "";            }            catch            {                MessageBox.Show("數(shù)據(jù)庫連接失敗!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);                application.Exit();            }                        }

    當(dāng)窗體活動時,將焦點(diǎn)設(shè)置到用戶名TextBox:

        private void F_LogIn_Activated(object sender, EventArgs e)        {            //當(dāng)處于活動窗體時,焦點(diǎn)在name的TextBox控件上            textName.Focus();                }

    實(shí)現(xiàn)的過程如下:通過兩個TextBox控件得到組合,當(dāng)點(diǎn)擊登陸按鈕時將會觸發(fā)這個按鈕的Click事件:

        private void butLogIn_Click(object sender, EventArgs e)        {            if (textName.Text != "" & textPass.Text != "")            {                //獲取登陸表中的用戶名和密碼的組合                SqlDataReader temDataReader = MyClass.getCommand("select * from tb_Login where Name='" + textName.Text.Trim() + "' and Pass= '" + textPass.Text.Trim() + "'");                //read()得到的返回值bool型,利用這個特性                bool ifcom = temDataReader.Read();                if (ifcom)                {                    //獲取登錄名                    DataClass.MyMeans.LogIn_Name = textName.Text.Trim();                    //獲取登陸的ID地址                    DataClass.MyMeans.LogIn_ID = temDataReader.GetString(0);                    //斷開連接                    DataClass.MyMeans.My_Con.Close();                    //釋放占用的資源                    DataClass.MyMeans.My_Con.Dispose();                    //獲取對象的引用                    DataClass.MyMeans.LogIn_n = (int)(this.Tag);                    //窗口關(guān)閉,進(jìn)入主界面                    this.Close();                }                else                {                    MessageBox.Show("用戶名或密碼錯誤!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);                    //重新設(shè)置為空                    textName.Text = "";                    textPass.Text = "";                }                //調(diào)用MyMeans類中定義的Close方法                MyClass.con_close();            }            else                MessageBox.Show("請將登錄信息添寫完整!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);        }

     設(shè)計兩個TextBox窗體的KeyPress事件,當(dāng)輸入完畢后,按回車鍵跳到下一個控件:

        private void textName_KeyPress(object sender, KeyPressEventArgs e)        {            //當(dāng)按下回車鍵時,焦點(diǎn)轉(zhuǎn)移到密碼textBox控件上            if (e.KeyChar == '/r')                textPass.Focus();        }        private void textPass_KeyPress(object sender, KeyPressEventArgs e)        {            //當(dāng)按下回車鍵時,焦點(diǎn)轉(zhuǎn)移到密碼LogIn按鈕            if (e.KeyChar == '/r')                butLogIn.Focus();        }

    注:當(dāng)設(shè)計完畢后續(xù)的主窗體時,需要將啟動窗體設(shè)置為啟動窗體:

    在Program.cs文件中修改  為 Application.Run(new F_Main()); 

    假設(shè)F_Main()為主窗體。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 辽阳市| 巴中市| 昌图县| 灵山县| 涞源县| 柳州市| 东城区| 开鲁县| 镇平县| 诸城市| 灵川县| 襄樊市| 如皋市| 兰州市| 长顺县| 玉林市| 汾西县| 贡山| 防城港市| 阆中市| 福海县| 潍坊市| 广州市| 元朗区| 保靖县| 崇左市| 怀集县| 门头沟区| 芒康县| 新兴县| 吉林省| 武鸣县| 上虞市| 洪洞县| 隆昌县| 溧水县| 玛多县| 南昌市| 电白县| 迭部县| 夹江县|