餐馆管理之点菜
点菜模块是餐馆管理系统的一个重要环节,它主要有两个功能:一是保存客人所点的菜,二是删除点菜。
一.点菜的设计
首先得先把餐馆有的所有菜存储在数据库中,这样才能在表中调用数据库的菜单信息表,点菜界面所要有的属性应和菜单信息表一致,菜单编号,菜系,菜名单价,份数,折扣都得一一对应,然后把所要点的菜选出来,添加到点菜表中即可。点菜从新开台那个地方进去,点菜界面如下图所示:
客人选好需要的菜后,点击确认按钮,就把选好的菜显示在下方,同时保存到数据库中,存储代码如下:
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();