餐饮管理系统之员工管理

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

一、员工信息表的设计:

在数据库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

 

 

 

 

posted @ 2016-05-27 16:15  team_h2s2z  阅读(1314)  评论(0编辑  收藏  举报