第一范文网 - 专业文章范例文档资料分享平台

餐饮管理系统 - 图文

来源:用户分享 时间:2025/10/5 18:24:28 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

7.3 点菜模块实现过程

本模块使用的数据表:tb_food、tb_Waiter、tb_Room、tb_GuestFood 点菜模块的具体实现步骤如下:

(1)新建一个Windows窗体,命名为frmDC.cs,主要用于实现系统的点菜功能。该窗体用到的主要控件如表12所示。

(2)首先建立一个公共变量RName,用于接收指定桌台的名称。关键代码如下: 例程26 代码位置:光盘\\ TM \\06\\ MrCy \\frmDC.cs public string RName;

(3)在窗体加载时,程序首先从数据库中检索出所有的菜系名称并显示在TreeView控件上,以便用户选择。关键代码如下:

例程27 代码位置:光盘\\ TM \\06\\ MrCy \\frmDC.cs

private void frmDC_Load(object sender, EventArgs e) {

this.Text = RName + \点/加菜\设置窗体显示问题

TreeNode newnode1 = tvFood.Nodes.Add(\锅底\为控件添加节点 TreeNode newnode2 = tvFood.Nodes.Add(\配菜\ TreeNode newnode3 = tvFood.Nodes.Add(\烟酒\ TreeNode newnode4 = tvFood.Nodes.Add(\主食\

SqlConnection conn = BaseClass.DBConn.CyCon(); //连接数据库 conn.Open(); //打开数据库

SqlCommand cmd = new SqlCommand(\conn);

SqlDataReader sdr = cmd.ExecuteReader(); while (sdr.Read())

{

newnode1.Nodes.Add(sdr[3].ToString().Trim()); //为“锅底”添加子节点 }

sdr.Close();

cmd = new SqlCommand(\ sdr = cmd.ExecuteReader(); while (sdr.Read()) {

newnode2.Nodes.Add(sdr[3].ToString().Trim()); //为“配菜”添加子节点 }

sdr.Close();

cmd = new SqlCommand(\ sdr = cmd.ExecuteReader(); while (sdr.Read()) {

newnode3.Nodes.Add(sdr[3].ToString().Trim()); //为“烟酒”添加子节点 }

sdr.Close();

cmd = new SqlCommand(\ sdr = cmd.ExecuteReader(); while (sdr.Read()) {

newnode4.Nodes.Add(sdr[3].ToString().Trim()); //添加子节点 }

sdr.Close();

cmd = new SqlCommand(\ sdr = cmd.ExecuteReader(); while (sdr.Read()) {

//为“主食”添加子节点

cbWaiter.Items.Add(sdr[\

} cbWaiter.SelectedIndex = 0; sdr.Close();

cmd = new SqlCommand(\RoomZT from tb_Room where RoomName='\

string zt = Convert.ToString(cmd.ExecuteScalar()); //获取桌台状态 if (zt.Trim() == \待用\如果处在“待用”状态,则禁用所有操作 {

groupBox1.Enabled = false; groupBox2.Enabled = false; groupBox3.Enabled = false; groupBox4.Enabled = false; }

conn.Close(); //关闭连接 GetData(); //重新绑定数据

tvFood.ExpandAll(); //展开TreeView控件 }

(4)当用户双击某个菜系时,将在右侧显示该菜系的详细信息,以便用户能够准确地选择。关键代码如下:

例程28 代码位置:光盘\\ TM \\06\\ MrCy \\frmDC.cs

private void treeView1_DoubleClick(object sender, EventArgs e) {

string foodname = tvFood.SelectedNode.Text; //获取选择的商品名称

if (foodname == \锅底\|| foodname == \配菜\|| foodname == \烟酒\|| foodname == \主食\

{} //如果选择的文本为以上这几项则不执行任何操作 else {

SqlConnection conn = BaseClass.DBConn.CyCon(); //连接数据库 conn.Open(); //打开连接

SqlCommand cmd = new SqlCommand(\* from tb_food where foodname='\+ foodname + \

SqlDataReader sdr = cmd.ExecuteReader(); sdr.Read();

txtNum.Text = sdr[\读取商品的编号 txtName.Text = foodname; //显示商品的名称

txtprice.Text = sdr[\读取商品的单价 conn.Close(); //关闭连接

if (txtpnum.Text == \判断消费商品数量是否为空 {

MessageBox.Show(\数量不能为空\

return; } else {

//根据消费商品的数量计算出消费商品的价格

txtallprice.Text = Convert.ToString(Convert.ToInt32(txtprice.Text) * Conve2(txtpnum.Text));

} } }

(5)为了保证消费商品数量文本框中的数据必须为数字,在文本框的KeyPress事件中添加代码控制输入数据的类型。关键代码如下:

例程29 代码位置:光盘\\ TM \\06\\ MrCy \\frmDC.cs

private void txtpnum_KeyPress(object sender, KeyPressEventArgs e) {

//判断是否输入了数字

if ((e.KeyChar != 8 && !char.IsDigit(e.KeyChar)) && e.KeyChar != 13) {

MessageBox.Show(\请输入数字\ e.Handled = true; } }

(6)当用户更改消费商品的数量时,该商品的总价格会随之改变,实现的方法是在 TextBox控件的TextChanged事件中添加代码。关键代码如下:

例程30 代码位置:光盘\\ TM \\06\\ MrCy \\frmDC.cs

private void txtpnum_TextChanged(object sender, EventArgs e) {

if (txtpnum.Text == \判断消费商品数量是否为空 {

MessageBox.Show(\数量不能为空\ return; } else {

if (Convert.ToInt32(txtpnum.Text) < 1) //判断消费商品数量输入是否正确 {

MessageBox.Show(\不能为小于1的数字\ return; } else {

//根据消费商品的数量计算出消费商品的价格

txtallprice.Text = Convert.ToString(Convert.ToInt32(txtprice.Text) * Conve2(txtpnum.Text)); } } }

(7)自定义一个GetData方法,用于显示所有的点菜信息。关键代码如下: 例程31 代码位置:光盘\\ TM \\06\\ MrCy \\frmDC.cs

private void GetData() //自定义的方法用于显示所有点菜信息 {

SqlConnection conn = BaseClass.DBConn.CyCon(); //连接数据库 SqlDataAdapter sda = new SqlDataAdapter(\foodnum,foodallprice,waitername,beizhu,zhuotai,datatime from tb_GuestFood where zhuotai='\ DataSet ds = new DataSet(); sda.Fill(ds);

dgvFoods.DataSource = ds.Tables[0]; //对控件进行数据绑定 }

(8)当点菜完毕后,单击“保存”按钮可以对顾客消费的菜系进行保存,以便在结账时

搜索更多关于: 餐饮管理系统 - 图文 的文档
餐饮管理系统 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c226ks1gwru5zpak1bu3j_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top