餐馆管理之点菜

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了餐馆管理之点菜相关的知识,希望对你有一定的参考价值。

点菜模块是餐馆管理系统的一个重要环节,它主要有两个功能:一是保存客人所点的菜,二是删除点菜。

一.点菜的设计

首先得先把餐馆有的所有菜存储在数据库中,这样才能在表中调用数据库的菜单信息表,点菜界面所要有的属性应和菜单信息表一致,菜单编号,菜系,菜名单价,份数,折扣都得一一对应,然后把所要点的菜选出来,添加到点菜表中即可。点菜从新开台那个地方进去,点菜界面如下图所示:

 

 

 

技术分享

客人选好需要的菜后,点击确认按钮,就把选好的菜显示在下方,同时保存到数据库中,存储代码如下:

 string ordnum = txb_ordernum.Text;
            string orderxi = strcaixi;
            string ordername = txb_ordername.Text;
            float orderperprice =float.Parse( txb_perprice.Text);
            float orderdiscount = float.Parse(txb_discount.Text);
            int ordertotalnum =Convert.ToInt32 ( txb_totalnum.Text);

            //将选菜的具体信息保存在具体点菜信息表中
            string strConn = @"Data Source=.;Initial Catalog=Restaurant;Integrated Security=SSPI; ";
            SqlConnection conn = new SqlConnection(strConn);
            conn.Open();

            string sqlcom = string.Format(@"insert into 具体点菜信息(菜单编号,菜系,菜名,份数,单价,折扣,桌台位置,状态)values(‘{0}‘,‘{1}‘,‘{2}‘,‘{3}‘,‘{4}‘,‘{5}‘,‘{6}‘,‘未结账‘)", ordnum, orderxi, ordername, ordertotalnum, orderperprice, orderdiscount,desknum);
            SqlCommand cmd = new SqlCommand(sqlcom, conn);
            cmd.ExecuteNonQuery();           
            conn.Close();

在listview控件中显示信息的代码如下:

 //将选菜的信息显示在listview控件中
            ListViewItem it = new ListViewItem();
            it.Text = ordnum;
            it.SubItems.Add(orderxi);
            it.SubItems.Add(ordername);
            it.SubItems.Add(txb_perprice.Text);
            it.SubItems.Add(txb_discount.Text);
            it.SubItems.Add(txb_totalnum.Text);

            listView1.Items.Add(it);

在选菜的过程中,客人如果选错了或者不想要这菜了,就得把它从数据库中删了,同时在下表中不显示,其具体代码:

if (listView1.SelectedItems.Count > 0)
            {
                string ordernum = listView1.SelectedItems[0].SubItems[0].Text;
                string ordername = listView1.SelectedItems[0].SubItems[2].Text;


                string strConn = @"Data Source=.;Initial Catalog=Restaurant;Integrated Security=SSPI; ";
                SqlConnection conn = new SqlConnection(strConn);
                conn.Open();
                string sqlcommond = string.Format(@"delete from 具体点菜信息 where (菜单编号 = ‘" + ordernum + "‘)and (菜名 = ‘"+ ordername +"‘)");

                //建立SqlCommand对象,负责SQL语句的执行和存储过程的调用;
                SqlCommand cmd = new SqlCommand(sqlcommond, conn);

                //对SQL或存储过程执行后返回的“结果”进行操作
                SqlDataAdapter da = new SqlDataAdapter();
                da.SelectCommand = cmd;

                cmd.ExecuteReader();
                MessageBox.Show("成功从数据库中删除");
                conn.Close();


                //删除选择项
                int lisnum = listView1.Items.IndexOf(listView1.FocusedItem);
                listView1.Items.Remove(listView1.Items[lisnum]);

            }
            else
            {
                MessageBox.Show("请选择你要删除的菜!");

            }

最后把所有选好的确定的菜保存好,代码如下:

string strConn = @"Data Source=.;Initial Catalog=Restaurant;Integrated Security=SSPI; ";
            SqlConnection conn = new SqlConnection(strConn);
            conn.Open();

            string sqlcom = string.Format(@"insert into 点菜信息(菜单编号,桌台位置,就餐人数,服务人员)values(‘{0}‘,‘{1}‘,‘{2}‘,‘{3}‘)", txb_ordernum.Text, desknum,peocount , servername);
            SqlCommand cmd = new SqlCommand(sqlcom, conn);
            cmd.ExecuteNonQuery();
            MessageBox.Show("成功保存点菜信息!!");
            conn.Close();
            this.Close();
            opform.Close();

 


 

 

以上是关于餐馆管理之点菜的主要内容,如果未能解决你的问题,请参考以下文章

luogu1164小A点菜

洛谷 1164 小A点菜

洛谷——P1164 小A点菜

Luogu P1164 小A点菜

luogu P1164 小A点菜

小A点菜(luogu 1164)简单DP