登陸用戶驗證功能設計

2.5登陸用戶驗證功能設計

一障簿、制作效果

創(chuàng)建數(shù)據(jù)庫表盹愚、管理員表(ADMIN)和收銀員表(USERS)。


ADMIN.PNG
USERS.PNG

制作登陸界面站故,用戶類型分為收銀員和庫管員(comboBox控件實現(xiàn))皆怕,連接數(shù)據(jù)庫當用戶類型、用戶名西篓、密碼和數(shù)據(jù)庫的值一致時登陸并提示愈腾!庫管員界面類似。


2.PNG
3.PNG

收銀員登陸界面污淋、制作DIM窗體來制作收銀員界面和庫管員界面顶滩,暫時當點擊注銷和退出時實現(xiàn)功能

4.PNG
5.PNG

二、連接數(shù)據(jù)庫方法(方法一)

連接數(shù)據(jù)庫.gif

步驟解析
1寸爆、視圖——服務器資源管理器——數(shù)據(jù)連接——添加連接——選擇Microsoft Visual Studio 2008——輸入服務器名(.)——選擇數(shù)據(jù)庫表——完成連接(獲得連接字符串)


連接字符串.PNG

三礁鲁、ADM.NET流程

ADM.PNG

四、主要代碼

(一)赁豆、登陸界面

1仅醇、登陸按鈕

 // 點擊“登錄”按鈕則登錄系統(tǒng)
        private void bt_Login_Click(object sender, EventArgs e)
        {
            String connStr = "Data Source=.;Initial Catalog=SuperMarketSales;Integrated Security=True";
            SqlConnection sqlConn = new SqlConnection(connStr);
            try
            {
                sqlConn.Open();

                String sqlStr = "";

                if (this.cbb_UserType.Text == "收銀員")
                {
                    // 注意USER是SQL Server關鍵字,表名不能命名為USER魔种,而應當用USERS
                    sqlStr = "select * from USERS where ID=@id and PASSWORD=@pwd";
                }
                else
                {
                    sqlStr = "select * from ADMIN where ID=@id and PASSWORD=@pwd";
                }

                SqlCommand cmd = new SqlCommand(sqlStr, sqlConn);

                // 注意是用用戶ID登錄析二,而不是用戶名,用戶名可能會重復
                cmd.Parameters.Add(new SqlParameter("@id", this.tb_User.Text.Trim()));
                cmd.Parameters.Add(new SqlParameter("@pwd", this.tb_Password.Text.Trim()));

                SqlDataReader dr = cmd.ExecuteReader();

                // 如果從數(shù)據(jù)庫中查詢到記錄节预,則表示可以登錄
                if (dr.HasRows)
                {
                    dr.Read();
                    UserInfo.userId = int.Parse(dr["ID"].ToString());
                    UserInfo.userName = dr["NAME"].ToString();
                    UserInfo.userPwd = dr["PASSWORD"].ToString();
                    UserInfo.userPhone = dr["PHONE"].ToString();
                    UserInfo.userType = this.cbb_UserType.Text;

                    MessageBox.Show(UserInfo.userType + "登錄成功");

                    if (UserInfo.userType == "收銀員")
                    {
                        // 顯示收銀員主界面
                        MainFormUser formUser = new MainFormUser();
                        formUser.Show();

                        // 隱藏登錄界面
                        this.Hide();
                    }

                    if (UserInfo.userType == "庫管員")
                    {
                        // 顯示庫管員主界面
                        MainFormAdmin formAdmin = new MainFormAdmin();
                        formAdmin.Show();

                        // 隱藏登錄界面
                        this.Hide();
                    }
                }
                else
                {
                    MessageBox.Show("用戶名或密碼錯誤", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception exp)
            {
                MessageBox.Show("數(shù)據(jù)庫連接失敗");
            }
            finally
            {
                sqlConn.Close();
            }
        }

2叶摄、退出按鈕

 // 點擊“退出”按鈕則退出應用程序
        private void bt_Exit_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

3、默認用戶類型(收銀員)

// 窗口加載時安拟,設置默認角色為“收銀員”
        private void frm_Login_Load(object sender, EventArgs e)
        {
            // 設置收銀員為默認登錄類型
            this.cbb_UserType.SelectedIndex = 0;

            // 禁止Tab鍵停留到LinkLabel上
            this.ll_Register.TabStop = false;
            this.ll_Forget.TabStop = false;
        }

(二)蛤吓、收銀員、庫管員界面

1糠赦、注銷

// 注銷當前登錄会傲,回到登錄界面
        private void tsmi_Logout_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("確認注銷锅棕?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
            {
                // 重新啟動程序,以顯示登錄窗口
                Application.Restart();
            }
        }

退出

 // 退出系統(tǒng)
        private void tsmi_Exit_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("確認退出淌山?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
            {
                Application.Exit();
            }
        }
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末裸燎,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子泼疑,更是在濱河造成了極大的恐慌德绿,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件王浴,死亡現(xiàn)場離奇詭異脆炎,居然都是意外死亡梅猿,警方通過查閱死者的電腦和手機氓辣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來袱蚓,“玉大人钞啸,你說我怎么就攤上這事±耍” “怎么了体斩?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長颖低。 經(jīng)常有香客問我絮吵,道長,這世上最難降的妖魔是什么忱屑? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任蹬敲,我火速辦了婚禮,結果婚禮上莺戒,老公的妹妹穿的比我還像新娘伴嗡。我一直安慰自己,他們只是感情好从铲,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布瘪校。 她就那樣靜靜地躺著,像睡著了一般名段。 火紅的嫁衣襯著肌膚如雪阱扬。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天伸辟,我揣著相機與錄音麻惶,去河邊找鬼。 笑死自娩,一個胖子當著我的面吹牛用踩,可吹牛的內(nèi)容都是我干的渠退。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼脐彩,長吁一口氣:“原來是場噩夢啊……” “哼碎乃!你這毒婦竟也來了?” 一聲冷哼從身側響起惠奸,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤梅誓,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后佛南,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體梗掰,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年嗅回,在試婚紗的時候發(fā)現(xiàn)自己被綠了及穗。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡绵载,死狀恐怖埂陆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情娃豹,我是刑警寧澤焚虱,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站懂版,受9級特大地震影響鹃栽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜躯畴,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一民鼓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧私股,春花似錦摹察、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至峭状,卻和暖如春克滴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背优床。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工劝赔, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人胆敞。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓着帽,卻偏偏與公主長得像杂伟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子仍翰,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 任務2.5 登錄用戶驗證功能設計 1.擊開始執(zhí)行后進行結果調(diào)試赫粥,VS訪問已進行連接的數(shù)據(jù)庫并顯示數(shù)據(jù)庫中的內(nèi)容 2...
    期末一定過閱讀 208評論 1 0
  • ORA-00001: 違反唯一約束條件 (.) 錯誤說明:當在唯一索引所對應的列上鍵入重復值時,會觸發(fā)此異常予借。 O...
    我想起個好名字閱讀 5,311評論 0 9
  • 2.5 登錄用戶驗證功能設計 一越平、任務目標: 完成登錄界面與數(shù)據(jù)庫的對接 二、任務內(nèi)容: 1.貼效果圖灵迫,最好是GI...
    風一樣的娘子閱讀 283評論 1 0
  • 《2.5登錄用戶驗證功能設計》 畫面主要功能秦叛,支持功能的數(shù)據(jù)表結構 在數(shù)據(jù)庫中建立數(shù)據(jù)庫,在C#中連接訪問數(shù)據(jù)庫瀑粥,...
    夜南珀閱讀 190評論 1 0
  • 親們大家好利凑! 函函媽來曬日記哦浆劲! 讀經(jīng)感恩日記1311篇--媽媽,我得了一百分 2017年7月3日 星期二 農(nóng)歷五...
    國學育兒函函媽閱讀 387評論 0 0