C#開發的餐飲管理系統總結

最近學習開發餐飲管理系統,作一個總結,分享出來,請大家多多指教,由於一些原因,只寫出該系統的業務邏輯代碼。詳細信息,請參考《C#項目開發案例全程實錄》第7章

1. 開發背景:

(1)使點餐與管理一體化,提高效率。

2. 需求分析:

(1)系統包括:桌臺顯示、消費查詢、人事檔案權限等幾大部分。

3. 系統設計

3.1 目標:小型的餐飲管理系統

3.2 系統功能結構:



3.4 業務流程


3.6 數據庫設計


4 登錄模塊

(1)SqlDataReaderHasRows 屬性:獲取一個值,該值指示SqlDataReader是否包含一行或多行。

(2)界面截圖:

5. 主窗體模塊設計


爲了方便,隨便用的圖片

5.1 開臺


5.2 點菜


5.3 結賬



6. 技術點總結:

(1)進行用戶登錄時,判斷用戶名密碼是否正確,用到了SqlDataReader對象中的HasRows屬性,表示獲取一個值,該值指示SqlDataReader是否包含一行或多行。

(2)驗證不同權限登錄用戶的方法

在主菜單中使用了toolStripStatusLabel來獲取用戶的權限,根據不同的權限分配不同的功能:statusStrip控件

代碼:power:數據庫中存儲的用戶權限等級。

switch (power)
            {
                case "0": toolStripStatusLabel5.Text = "超級管理員"; break;
                case "1": toolStripStatusLabel5.Text = "經理"; break;
                case "2": toolStripStatusLabel5.Text = "一般用戶"; break;
            }
            toolStripStatusLabel2.Text = Names;
            toolStripStatusLabel8.Text = Times;
            if (power == "2")
            {
                基礎信息ToolStripMenuItem.Enabled = false;
                系統維護ToolStripMenuItem.Enabled = false;
            }
            if (power == "1")
            {
                系統維護ToolStripMenuItem.Enabled = false;
            }

(3)使用ListView控件製作桌臺顯示

代碼:

private void MrCyMain_Activated(object sender, EventArgs e)
        {
            lvDesk.Items.Clear();//清空ListBox控件
            String mysqlStr = "Database=db_mrcy;Data Source=localhost;User Id=root;Password=111;pooling=false;CharSet=utf8;port=3306";
            //  String sql = "select * from tb_user where UserName='"+textBox1.Text+"'";
            using (MySqlConnection connetion1 = new MySqlConnection(mysqlStr))
            {
                connetion1.Open();
                using (MySqlCommand command1 = new MySqlCommand("select * from tb_Room", connetion1))
                {
                    sdr = command1.ExecuteReader();
                    while (sdr.Read())
                    {
                        string zt = sdr["RoomZT"].ToString().Trim();
                        AddItems(zt);
                    }
                }
            }
        }
        //根據不同的狀態爲ListView添加不同的圖片
        private void AddItems(string rzt)
        {
            if (rzt == "使用")
            {
                lvDesk.Items.Add(sdr["RoomName"].ToString(), 1);
            }
            else
            {
                lvDesk.Items.Add(sdr["RoomName"].ToString(), 0);
            }
        }

(4)使用MenuStrip控件製作系統的菜單欄


(5)使用ContextMenuStrip控件製作桌臺右鍵菜單

 using (MySqlConnection connetion1 = new MySqlConnection(mysqlStr))
            {
                connetion1.Open();
                using (MySqlCommand cmd = new MySqlCommand("select * from tb_Room where RoomName='" + names + "'", connetion1))
                {
                    MySqlDataReader sdr = cmd.ExecuteReader();
                    sdr.Read();
                    string zt = sdr["RoomZT"].ToString().Trim();
                    sdr.Close();
                    if (zt == "使用")
                    {
                        this.contextMenuStrip1.Items[0].Enabled = false;
                        this.contextMenuStrip1.Items[1].Enabled = true;
                        this.contextMenuStrip1.Items[2].Enabled = true;
                        this.contextMenuStrip1.Items[3].Enabled = true;
                        this.contextMenuStrip1.Items[4].Enabled = true;
                    }
                    else if (zt == "未使用")
                    {
                        this.contextMenuStrip1.Items[0].Enabled = true;
                        this.contextMenuStrip1.Items[1].Enabled = false;
                        this.contextMenuStrip1.Items[2].Enabled = false;
                        this.contextMenuStrip1.Items[3].Enabled = false;
                        this.contextMenuStrip1.Items[4].Enabled = false;
                    }
                }
            }


源碼下載地址:http://download.csdn.net/detail/iamdale11/8041955






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章