• 餐饮管理系统之员工管理


    作为一个完善的管理系统,员工管理是重要的一环,主要分为对员工的增加,查询,修改与删除。

    一、员工信息表的设计:

    在数据库Restaurant中添加“员工信息”表,根据实际情况可将员工的属性:员工编号、员工姓名、身份证号、性别、年龄、电话、身份作为表的属性列。

    表的列的设计如下图所示:

    二、员工的增加:

    • 界面设计

     在员工增加界面中,将需要添加的员工的具体信息写入,点击确认,就可以将对应的信息加入到数据库中。

    界面如下:

    • 加入数据库

    将信息加入数据库前先要读取目前的数据信息,代码如下:

    string id = Worker_ID.Text.Trim();
                string name = Woker_Name.Text.Trim();
                string role = cbx_role.Text.Trim();
    
                string cardnum = Worker_CardNum.Text.Trim();
                string sex = null;
                string age = Worker_Age.Text.Trim();
                string tel = Worker_Tel.Text.Trim();
                foreach (object sd in this.Controls)
                {
                    RadioButton rbt = sd as RadioButton;
                    if (rbt != null && rbt.Checked == true)
                    {
                        sex = rbt.Text.Trim();
                        break;
                    }
    View Code

    要将保存下来的信息加入到数据库中,要用到数据库中的命令,先连接到数据库中,然后执行需要的操作,再返回结果,代码如下:

    string strConn = @"Data Source=.;Initial Catalog=Restaurant;Integrated Security=SSPI; ";
                    SqlConnection conn = new SqlConnection(strConn);
                    conn.Open();
                    string sqlcom = string.Format(@"insert into 员工信息(密码,员工编号,员工姓名,身份证号,性别,年龄,电话,身份)values('123456','{0}','{1}','{2}','{3}','{4}','{5}','{6}')", id, name, cardnum, sex, age, tel,role);
                    SqlCommand cmd = new SqlCommand(sqlcom, conn);
    
                    SqlDataReader dr = cmd.ExecuteReader();
                    dr.Close();
    
                    string sqlcom2 = string.Format(@"insert into 登录表(编号,用户名,身份,密码)values('{0}','{1}','{2}','123456')", id, name, role);
                    SqlCommand cmd2 = new SqlCommand(sqlcom2, conn);
                    SqlDataReader dr2 = cmd2.ExecuteReader();
                    dr2.Close();
    
                    MessageBox.Show("成功插入员工信息!!");
                    conn.Close();
    View Code

    三、员工查询:

    • 界面设计

    删除和修改员工信息都需要先查询到该员工的信息,所以我把删除,修改,查询操作整合到一个界面中,查询结果放到listview控件中,界面如下:

    • 查询操作

    查询前先要连接到数据库读取数据,代码见上面。

    在查询过程中,由于条件太多,这里只提供单个条件的查询,其中用到的还是数据库中的命令,代码如下:

    string strid = txb_wid.Text;
                string strname = txb_wname.Text;
                string strsex = cbx_wsex.Text;
                string stragef = txb_wagef.Text;
                string straget = txb_waget.Text;
                string strrole = cbx_wrole.Text;
    
                string sqlcommond = "select * from 员工信息";
                if (strid != "")
                {
                    sqlcommond = string.Format(@"select * from 员工信息 where 员工编号 ='" + strid + "'");
                }
                else if (strname != "")
                {
                    sqlcommond = string.Format(@"select * from 员工信息 where 员工姓名 ='" + strname + "'");
    
                }
    
                else if (stragef != ""&&straget=="")
                {
                    sqlcommond = string.Format(@"select * from 员工信息 where 年龄 >'" + stragef + "'");
    
                }
                else if (stragef != "" && straget != "")
                {
                    sqlcommond = string.Format(@"select * from 员工信息 where 年龄 between '" + stragef + "' and '" + straget + "'");
    
                }
                else if (strrole != "" )
                {
                    sqlcommond = string.Format(@"select * from 员工信息 where 身份 ='" + strrole + "'");
    
                }
    
                else if (strsex != "" )
                {
                    sqlcommond = string.Format(@"select * from 员工信息 where 性别 ='" + strsex + "'" );
     
                
                
                }
    View Code

    将读取的数据库的数据保存在listview中,先新定义一个listviewitem类型的变量it,将数据库中的一行数据保存在it中,再将在it加入到listview1中,知道将满足条件的桌台都输出完为止,之后关闭数据库,代码如下:

                //建立SqlCommand对象,负责SQL语句的执行和存储过程的调用;
                SqlCommand cmd = new SqlCommand(sqlcommond, conn);
    
                //对SQL或存储过程执行后返回的“结果”进行操作
                SqlDataAdapter da = new SqlDataAdapter();
                da.SelectCommand = cmd;
    
                SqlDataReader dr = cmd.ExecuteReader();
                listView1.Items.Clear();//再次按查询时将上次的查询结果清除
    
                while (dr.Read())
                {
                    //MessageBox.Show("1111");
                    //构建一个ListView的数据,存入数据库数据,以便添加到listView1的行数据中
                    ListViewItem it = new ListViewItem();
                    it.Text = dr["员工编号"].ToString();
                    it.SubItems.Add(dr["员工姓名"].ToString());
                    it.SubItems.Add(dr["身份证号"].ToString());
                    it.SubItems.Add(dr["性别"].ToString());
                    it.SubItems.Add(dr["年龄"].ToString());
                    it.SubItems.Add(dr["电话"].ToString());
                    it.SubItems.Add(dr["身份"].ToString());
    
                    //将lt数据添加到listView1控件中
                    listView1.Items.Add(it);
                }
    
    
    
                conn.Close();//关闭数据库
    View Code
    • 修改员工信息

    修改时,要将员工原有的信息显示在修改窗体的控件中,代码如下:

     if (listView1.SelectedItems.Count > 0)
                {
                    UpdataWorker upworker = new UpdataWorker();
                    upworker.defid = listView1.SelectedItems[0].SubItems[0].Text;
                    upworker.defname = listView1.SelectedItems[0].SubItems[1].Text;
                    upworker.defcardnum = listView1.SelectedItems[0].SubItems[2].Text;
                    upworker.defsex = listView1.SelectedItems[0].SubItems[3].Text;
                    upworker.defage = listView1.SelectedItems[0].SubItems[4].Text;
                    upworker.deftel = listView1.SelectedItems[0].SubItems[5].Text;
                    upworker.defrole = listView1.SelectedItems[0].SubItems[6].Text;
                    upworker.ShowDialog();
    
    
    
                    string str = listView1.SelectedItems[0].SubItems[0].Text;
    
                    //MessageBox.Show(str);
                    listView1.SelectedItems.Clear();//将选择的项改为为选择
                }
                else
                {
                    MessageBox.Show("请选择你要更新的员工!");
    
                }
    View Code

    在控件中进行需要的修改操作后,点击更新即可,该操作会读取当前控件中的信息,然后连接数据库进行数据库的更新操作,代码如下:

    int id = Convert.ToInt32(txb_upid.Text);
                string name = txb_upname.Text.Trim();
                string cardnum = txb_upcardnum.Text.Trim();
                string sex = cbx_upsex.Text.Trim();
                string age = txb_upage.Text.Trim();
                string tel = txb_uptel.Text.Trim();
                string role = cbx_role.Text.Trim();
                string password = txb_password.Text.Trim();
    
    
                string strConn = @"Data Source=.;Initial Catalog=Restaurant;Integrated Security=SSPI; ";
                SqlConnection conn = new SqlConnection(strConn);
                conn.Open();
                //建立SqlCommand对象,负责SQL语句的执行和存储过程的调用;
                string sqlcom = string.Format(@"update 员工信息 set 员工姓名 = '" + name + "',身份证号 = '" + cardnum + "',性别 = '" + sex + "',年龄 = '" + age + "',电话 = '" + tel + "' where 员工编号 = '" + id + "'");//插入数据是数字就无  ''。。。
    
                SqlCommand cmd = new SqlCommand(sqlcom, conn);
                SqlDataReader dr = cmd.ExecuteReader();
                dr.Close();
    
                string sqlcom2 = string.Format(@"update 登录表 set 用户名 = '" + name + "',身份 = '" + role + "',密码 = '" + password + "' where 员工编号 = '" + id + "'");//插入数据是数字就无  ''。。。
    
                SqlCommand cmd2 = new SqlCommand(sqlcom2, conn);
                SqlDataReader dr2 = cmd.ExecuteReader();
                dr2.Close();
    
                MessageBox.Show("成功更新员工!!");
                conn.Close();
    View Code
    • 删除员工

    在删除员工时从数据库中删除后,在listview中也要一并删除。删除listview中选中的一行,需要获取选中的行的索引,然后通过listview1.items.remove(listview1.tems[索引值])。代码如下:

    if (listView1.SelectedItems.Count > 0)
                {
                    int id = Convert.ToInt32(listView1.SelectedItems[0].SubItems[0].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 员工编号 = '" + id + "'");
    
                    //建立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("请选择你要删除的员工!");
    
                }
    View Code

     

  • 相关阅读:
    【论文阅读】A practical algorithm for distributed clustering and outlier detection
    第11组 团队Git现场编程实战
    第11组 团队项目-需求分析报告
    团队项目-选题报告
    第二次结对编程作业
    第11组 团队展示
    第一次结对编程作业
    第一次个人编程作业
    第一次博客作业
    (转)script标签到底该放在哪里
  • 原文地址:https://www.cnblogs.com/team-h2s2z/p/5533507.html
Copyright © 2020-2023  润新知