最近學習開發餐飲管理系統,作一個總結,分享出來,請大家多多指教,由於一些原因,只寫出該系統的業務邏輯代碼。詳細信息,請參考《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