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