PERSONNEL_CHANGE.cs
上传用户:zhongfine
上传日期:2022-08-01
资源大小:2860k
文件大小:12k
源码类别:

企业管理

开发平台:

C#

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.Data.SqlClient;
  10. namespace 人事管理系统
  11. {
  12.     public partial class PERSONNEL_CHANGE : Form
  13.     {
  14.         
  15.         Datacon mydatacon = new Datacon();
  16.         DataSet mydataset = new DataSet();
  17.         SqlConnection sqlcn = new SqlConnection();
  18.         SqlDataAdapter myadapter;
  19.        
  20.         
  21.        
  22.         
  23.         public PERSONNEL_CHANGE()
  24.         {
  25.             InitializeComponent();
  26.         }
  27.         private void button2_Click(object sender, EventArgs e)
  28.         {
  29.             this.Close();
  30.             major mymajor = new major();
  31.             
  32.         }
  33.         private void button4_Click(object sender, EventArgs e)
  34.         {
  35.             this.Close();
  36.             major mymajor = new major();
  37.            
  38.         }
  39.         private void button3_Click(object sender, EventArgs e)
  40.         {
  41.             if (textBox2.Text == "")
  42.             {
  43.                 MessageBox.Show("请输入要辞退的员工号码!");
  44.                 return;
  45.             }
  46.             sqlcn = mydatacon.getcon();//同理,调用连接函数
  47.             sqlcn.Open();
  48.             
  49.             String delete = this.textBox2.Text;
  50.             int a = int.Parse(delete);//将字符串型的delete转为int型
  51.             SqlCommand cmd = new SqlCommand();
  52.             cmd.Connection = sqlcn;
  53.             SqlCommand cnd = new SqlCommand("查询员工号是否存在 '" + a.ToString() + "'", sqlcn);
  54.             string q = cnd.ExecuteScalar().ToString();//用q来记录该员工号是否存在
  55.             if (q == "0")//为0表示情况不存在
  56.             {
  57.                 MessageBox.Show("你输入的员工号不存在,请重新输入!");
  58.                 return;
  59.             }
  60.             else
  61.             {
  62.                 cnd.CommandText = "select count(*) from [PERSON] where ID='"+a+"' and JOB='经理'";
  63.                 string l=cnd.ExecuteScalar().ToString();
  64.                 if (l != "0")
  65.                 {
  66.                     cmd.CommandText = "select * from [PERSON] where ID='" + a + "'";
  67.                     SqlDataReader da = cmd.ExecuteReader();
  68.                     da.Read();
  69.                     string department = da["DEPARTMENT"].ToString();
  70.                     da.Close();
  71.                     cmd.CommandText = "update [DEPARTMENT] set MANAGER=null where NAME='"+department+"'";
  72.                     cmd.ExecuteNonQuery();
  73.                     
  74.                 }
  75.                 cmd.CommandText = "删除员工 '" + a + "'";
  76.                 cmd.ExecuteNonQuery();//若存在,则执行删除命令
  77.                 
  78.                 cmd.Connection = sqlcn;
  79.                 //cmd.CommandText = "更新人事变更记录计数器";//人事变更记录计数器字段加1
  80.                 //cmd.ExecuteNonQuery();
  81.                 String mysql2 = "查询人事变更记录编号";
  82.                 SqlCommand sqlcm = new SqlCommand(mysql2, sqlcn);
  83.                 SqlDataReader dr = sqlcm.ExecuteReader();
  84.                 dr.Read();
  85.                 string num = dr["COUNTER_VAL"].ToString();//读出人事变更记录内的最新值
  86.                 dr.Close();
  87.                 cmd.CommandText = "记录增加员工 '" + num + "','员工号为" + a.ToString() + "的员工被辞退了!'";//将员工辞退执行完后的记录写进人事变更记录表
  88.                 cmd.ExecuteNonQuery();
  89.                 sqlcn.Close();
  90.                 MessageBox.Show("员工辞退成功!");
  91.                 this.textBox2.Clear();
  92.                 #region//刷新数据
  93.                 DataSet mydataset3 = new DataSet();
  94.                 sqlcn = mydatacon.getcon();
  95.                 string ccd = "select ID as 员工号, NAME as 姓名, SEX as 性别, BIRTHDAY as 生日, DEPARTMENT as 所在部门, JOB as 职务, EDU_LEVEL as 受教育程度, SPCIALTY as 专业技能, ADDRESS as 家庭住址, TEL as 联系电话, EMAIL as 电子邮箱, STATE as 当前状态, REMARK as 备注 from [PERSON]";
  96.                 myadapter = new SqlDataAdapter(ccd, sqlcn);
  97.                 mydataset3.Clear();
  98.                 myadapter.Fill(mydataset3, "PERSON");
  99.                 dataGridView1.DataSource = mydataset3.Tables["PERSON"];
  100.                 #endregion
  101.             }
  102.         }
  103.         private void button1_Click(object sender, EventArgs e)
  104.         {
  105.             if (textBox1.Text == "")
  106.             {
  107.                 MessageBox.Show("请输入要变动的员工号码!");
  108.             }
  109.             else
  110.             {
  111.             sqlcn = mydatacon.getcon();
  112.             sqlcn.Open();
  113.             string change = this.textBox1.Text;
  114.             int b = int.Parse(change);
  115.             SqlCommand cmd = new SqlCommand();
  116.             cmd.Connection = sqlcn;
  117.             SqlCommand cnd = new SqlCommand("查询员工号是否存在 '" + b.ToString() + "'", sqlcn);
  118.             string q = cnd.ExecuteScalar().ToString();//同理,用q来记录是否存在该员工号
  119.             if (q == "0")
  120.             {
  121.                 MessageBox.Show("你输入的员工号不存在,请重新输入!");
  122.                 return;
  123.             }
  124.             else
  125.             {
  126.                 if (comboBox2.Text == "经理")
  127.                 {
  128.                     cmd.CommandText = "select count(*) from [PERSON] where JOB='经理' and DEPARTMENT='" + comboBox1.Text + "'";
  129.                     string k = cmd.ExecuteScalar().ToString();
  130.                     if (k != "0")
  131.                     {
  132.                         MessageBox.Show("该部门经理已经存在,请重新输入!");
  133.                         return;
  134.                     }
  135.                 }
  136.                 cnd.CommandText = "select count(*) from [PERSON] where ID='" + textBox1.Text + "' and JOB='经理'";
  137.                 string l = cnd.ExecuteScalar().ToString();
  138.                 if (l != "0")
  139.                 {
  140.                     cnd.CommandText = "select * from [PERSON] where ID='" + textBox1.Text + "'";
  141.                     SqlDataReader da = cnd.ExecuteReader();
  142.                     da.Read();
  143.                     string department = da["DEPARTMENT"].ToString();
  144.                     da.Close();
  145.                     cnd.CommandText = "update [DEPARTMENT] set MANAGER=null where NAME='" + department + "'";
  146.                     cnd.ExecuteNonQuery();
  147.                 }
  148.              
  149.                 cmd.CommandText = "update [PERSON] set DEPARTMENT='" + this.comboBox1.Text + "',JOB='" + this.comboBox2.Text + "'where ID='" + b + "'";
  150.                 cmd.ExecuteNonQuery();//更新该员工的部门与职位信息
  151.                 cmd.CommandText = "select * from [PERSON] where ID='" + textBox1.Text + "'";
  152.                 SqlDataReader dn = cmd.ExecuteReader();
  153.                 dn.Read();
  154.                 string i = dn["NAME"].ToString();
  155.                 dn.Close();
  156.                 if (comboBox2.Text == "经理")
  157.                 {
  158.                     cmd.CommandText = "update [DEPARTMENT] set MANAGER='" + i + "' where NAME='" + comboBox1.Text + "'";
  159.                     cmd.ExecuteNonQuery();
  160.                 }
  161.               
  162.                 //cmd.Connection = sqlcn;
  163.                 //cmd.CommandText = "更新人事变更记录计数器";//人事变更记录计数器字段加1
  164.                 //cmd.ExecuteNonQuery();
  165.                 String mysql2 = "查询人事变更记录编号 ";//读出人事变更记录内的最新值
  166.                 SqlCommand sqlcm = new SqlCommand(mysql2, sqlcn);
  167.                 SqlDataReader dr = sqlcm.ExecuteReader();
  168.                 dr.Read();
  169.                 string num = dr["COUNTER_VAL"].ToString();//读出计数器内人事变更记录的最新值
  170.                 dr.Close();
  171.                 cmd.CommandText = "记录增加员工 '" + num + "','员工号为" + b.ToString() + "的员工改变为" + this.comboBox1.Text + "的" + this.comboBox2.Text + "!'";
  172.                 cmd.ExecuteNonQuery();//将员工职位改变执行完后的记录写进人事变更记录表
  173.                 sqlcn.Close();
  174.                 MessageBox.Show("员工职位改变成功!");
  175.                 #region//刷新数据
  176.                 DataSet mydataset3 = new DataSet();
  177.                 sqlcn = mydatacon.getcon();
  178.                 string ccd = "select ID as 员工号, NAME as 姓名, SEX as 性别, BIRTHDAY as 生日, DEPARTMENT as 所在部门, JOB as 职务, EDU_LEVEL as 受教育程度, SPCIALTY as 专业技能, ADDRESS as 家庭住址, TEL as 联系电话, EMAIL as 电子邮箱, STATE as 当前状态, REMARK as 备注 from [PERSON]";
  179.                 myadapter = new SqlDataAdapter(ccd, sqlcn);
  180.                 mydataset3.Clear();
  181.                 myadapter.Fill(mydataset3, "PERSON");
  182.                 dataGridView1.DataSource = mydataset3.Tables["PERSON"];
  183.                 #endregion
  184.             }
  185.             }
  186.         }
  187.         private void PERSONNEL_CHANGE_Load(object sender, EventArgs e)
  188.         {
  189.             
  190.             //sqlcn.Close();
  191.             sqlcn = mydatacon.getcon();
  192.             string cmd = "select ID as 部门编号, NAME as 部门名称 from [DEPARTMENT]";
  193.             myadapter = new SqlDataAdapter(cmd, sqlcn);
  194.             mydataset.Clear();
  195.             myadapter.Fill(mydataset, "DEPARTMENT");
  196.             comboBox1.DataSource = mydataset.Tables["DEPARTMENT"];
  197.             comboBox1.DisplayMember = mydataset.Tables["DEPARTMENT"].Columns[1].ColumnName;
  198.             comboBox1.ValueMember = mydataset.Tables["DEPARTMENT"].Columns[1].ColumnName;
  199.             DataSet mydataset2 = new DataSet();
  200.             string cnd = "select CODE, DESCRIPTION from [JOB] ";
  201.             myadapter = new SqlDataAdapter(cnd, sqlcn);
  202.             mydataset2.Clear();
  203.             myadapter.Fill(mydataset2, "JOB");
  204.             comboBox2.DataSource = mydataset2.Tables["JOB"];
  205.             comboBox2.DisplayMember = mydataset2.Tables["JOB"].Columns[1].ColumnName;
  206.             comboBox2.ValueMember = mydataset2.Tables["JOB"].Columns[1].ColumnName;
  207.             DataSet mydataset3 = new DataSet();
  208.             sqlcn = mydatacon.getcon();
  209.             cmd = "select ID as 员工号, NAME as 姓名, SEX as 性别, BIRTHDAY as 生日, DEPARTMENT as 所在部门, JOB as 职务, EDU_LEVEL as 受教育程度, SPCIALTY as 专业技能, ADDRESS as 家庭住址, TEL as 联系电话, EMAIL as 电子邮箱, STATE as 当前状态, REMARK as 备注 from [PERSON]";
  210.             myadapter = new SqlDataAdapter(cmd, sqlcn);
  211.             mydataset3.Clear();
  212.             myadapter.Fill(mydataset3, "PERSON");
  213.             dataGridView1.DataSource = mydataset3.Tables["PERSON"];
  214.             //以上这两段相当于对comboBox进行数据绑定,不同的是以这样的方式可以防止数据库变动以及不刷新数据所造成的问题
  215.         }
  216.         private void groupBox1_Enter(object sender, EventArgs e)
  217.         {
  218.         }
  219.         private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
  220.         {
  221.         }
  222.         private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
  223.         {
  224.             int n = dataGridView1.CurrentRow.Index;
  225.             dataGridView1.CurrentCell = dataGridView1[0, n];
  226.             string str = dataGridView1.CurrentCell.Value.ToString();
  227.             sqlcn = mydatacon.getcon();
  228.             sqlcn.Open();
  229.             SqlDataAdapter com = new SqlDataAdapter("select * from [PERSON] where ID='" + str + "'", sqlcn);
  230.             DataSet ds = new DataSet();
  231.             com.Fill(ds);
  232.             foreach (DataRow dr in ds.Tables[0].Rows)
  233.             {
  234.                 textBox1.Text = dr["ID"].ToString();
  235.                 textBox2.Text = dr["ID"].ToString();
  236.             
  237.             } 
  238.         }
  239.         private void textBox2_TextChanged(object sender, EventArgs e)
  240.         {
  241.         }
  242.      
  243.     }
  244. }