• 生活小常识
  • 生活技能学习
  • 安全知识
  • 理财知识
  • 礼仪知识
  • 节日知识
  • 旅游知识
  • 健康知识
  • 当前位置: 工作范文网 > 生活 > 旅游知识 > 正文

    C人事工资标准管理系统实验报告

    时间:2020-10-26 09:16:56 来源:工作范文网 本文已影响 工作范文网手机站

    武汉工业学院

    数据库应用系统设计

    试验汇报

    学号:

    姓名: 毕 波

    班级: 计算机091

    指导老师:

    人事工资管理系统

    设计总说明:在当今社会,工资管理是一项必需而且很关键工作。现在伴随企业数量急剧增加,处理大家工资数据变越来越烦琐艰巨。现在,计算机已经普及到了几乎每个学校、家庭,我们学习和生活已经四处离不开计算机存在。

    本系统依据开发要求关键应用于企业人事系统,完成对日常工资增删查改数字化管理。比较系统地对职员信息和工资进行管理,查询、增添、修改、删除全部变很简便,节省了大量工作量。

    本课程设计是在学习了《数据库应用系统》和相关开发软件课程以后,让学生经过实际项目标设计、开发,培养学生独立进行数据库软件建模、在计算机中进行数据库设计、并经过相关软件开发系统能力。

    本系统基础功效包含:部门信息管理(查询、添加、修改、删除学生部门等)、职员信息管理(录入、查询、修改、删除职员信息等)、工资信息管理(录入、查询、修改职员工资等)。

    本系统关键用于对职员工资进行管理,能够进行插入、删除、修改、查询和显示职员信息。登录该系统时,用户需要输入口令和密码,以确保数据安全性,成功登录用户,能够插入职员信息和工资,并对职员信息和工资进行增、删、改操作。

    基于上述想法,我们将职员数据保留到数据库中。我们要求系统能够高效快速处理数据,而且要确保数据正确性、相容性和安全性。所以在数据库中需要定义很多触发器,比如删除了某个职员信息则删除对应全部工资信息、活着删除了某部门则删除该部门全部信息等。

    所以我们要从数据库中读取数据,而且和界面联络起来,同时也能将用户界面上数据存放到数据库中。以上是设计此系统应该注意地方和设计标准,以下就是遵照这些标准和标准设计出一套完整管理系统。

    一 系统需求:

    依据题目需求,能够把系统分为三个部分:部门信息管理部分、职员信息管理部分和工资信息管理部分。此次试验中,我关键负责部门信息管理模块,题中需要对部门信息进行查询、添加、修改、删除操作,这些操作按是否改变数据库数据可分为两类:查询操作,只读取数据库信息,不对信息做修改;删除、更新和添加操作,需要对数据库中数据进行读写操作。所以只要写两部分代码,查询部分:deptinfo_Query进行部门信息查询,查询数据库信息;信息管理部分:deptinfo_Manage,对信息进行更新、增加和删除。

    二 数据库设计

    1.数据需求

    人事工资管理系统需要完成关键功效有:

    1职员基础信息录入

    2.工资信息表录入。

    3.部门信息表查询、插入、修改、删除等操作。

    2.相关表

    表1 职员表:Employee_Info

    表2 工资表:Salary

    表3 部门表:Dept_Info

    表4 系统用户表:User_Info

    3.数据步骤图

    人事工资管理系统

    人事工资管理系统

    登录

    登录

    系统管理员

    系统管理员

    职员表

    职员表

    部门表工资表

    部门表

    工资表

    图 数据步骤图

    三 职员工资相关操作

    1.查询部分

    相关代码:

    dateGrid1数据绑定

    private void BindData(String sql)

    {

    SqlConnection connection = new SqlConnection(connString);

    SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, connection);

    DataSet dataSet = new DataSet();

    dataAdapter.Fill(dataSet);

    dataGridView1.DataSource = dataSet.Tables[0];

    dataGridView1.Columns[0].DataPropertyName = "职工?è号?";

    dataGridView1.Columns[1].DataPropertyName = "年份";

    dataGridView1.Columns[2].DataPropertyName = "月份";

    dataGridView1.Columns[3].DataPropertyName = "工资o";

    }

    部门组合框数据绑定

    private void BindDeptComBox()

    {

    string sql = "SELECT * FROM [Dept_Info]";

    SqlConnection connection = new SqlConnection(connString);

    SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, connection);

    DataSet dataSet = new DataSet();

    dataAdapter.Fill(dataSet);

    DeptcomBox.DataSource = dataSet.Tables[0];

    DeptcomBox.DisplayMember = "DeptName";

    DeptcomBox.ValueMember = "DeptID";

    DeptcomBox.SelectedIndex = 0;

    }

    按部门查询

    private void check1_CheckedChanged(object sender, EventArgs e)

    {

    if (check1.Checked)

    {

    btnYes.Enabled = true;

    DeptcomBox.Enabled = true;

    check4.Checked = false;

    check4.Enabled = false;

    }

    else

    {

    DeptcomBox.Enabled = false;

    check4.Enabled = true;

    }

    }

    按年份查询

    private void check2_CheckedChanged(object sender, EventArgs e)

    {

    btnYes.Enabled = true;

    if (check2.Checked)

    {

    YearComBox.Enabled = true;

    }

    else

    {

    YearComBox.Enabled = false;

    }

    YearComBox.SelectedIndex = 0;

    }

    按月份Y查询

    private void check3_CheckedChanged(object sender, EventArgs e)

    {

    if (check3.Checked)

    {

    btnYes.Enabled = true;

    MonthComBox.Enabled = true;

    }

    else

    {

    MonthComBox.Enabled = false;

    }

    }

    仅查询自己工资

    private void check4_CheckedChanged(object sender, EventArgs e)

    {

    if (check4.Checked)

    {

    btnYes.Enabled = true;

    check1.Enabled = false;

    DeptcomBox.Enabled = false;

    }

    else

    {

    check1.Enabled = true;

    check1.Checked = false;

    }

    }

    private void btnYes_Click(object sender, EventArgs e)

    {

    count = 0;

    String YearStr;

    int MonthStr;

    String DeptStr;

    String sqlStr = "";

    sql = "";

    DeptStr = Convert.ToString(DeptcomBox.SelectedValue.ToString());

    部门号

    if (check1.Checked)

    {

    DeptStr = Convert.ToString(DeptcomBox.SelectedValue.ToString());

    sqlStr = String.Format("select [Salary].EmpID as '职员号', Year as '年份', Month as '月份', Salary as '工资o' from [Salary],[Employee_Info] where DeptID='{0}'and Salary.EmpID=Employee_Info.EmpID", DeptStr);

    if (count == 0)

    {

    sql += sqlStr;

    count = 1;

    }

    else

    {

    sql += " intersect " + sqlStr;

    }

    check1.Checked = false;

    }

    年份

    if (check2.Checked)

    {

    YearStr = Convert.ToString(YearComBox.SelectedItem.ToString());

    if(this.mainForm.operatorRight==2)

    {

    sqlStr = String.Format("select EmpID as '职员号', Year as '年份', Month as '月份', Salary as '工资' from [Salary] where Year='{0}'", YearStr);

    }

    else if(this.mainForm.operatorRight==1)

    {

    sqlStr = String.Format("select Salary.EmpID as '职员号', Year as '年份', Month as '月', Salary as '工资' from Salary,Employee_Info,Dept_Info where Year='{0}'and Salary.EmpID=Employee_Info.EmpID and Employee_Info.DeptID=Dept_Info.DeptID and Dept_Info.DeptID in (select DeptID from Employee_Info where EmpID='{1}')", YearStr,this.mainForm.person.userName);

    }

    else

    {

    sqlStr = String.Format("select EmpID as '职员号', Year as '年份', Month as '月份', Salary as '工资á' from [Salary] where Year='{0}'and EmpID='{1}'", YearStr,this.mainForm.person.userName);

    }

    if (count == 0)

    {

    sql += sqlStr;

    count = 1;

    }

    else

    {

    sql += " intersect " + sqlStr;

    }

    check2.Checked = false;

    }

    月份

    if (check3.Checked)

    {

    MonthStr = Convert.ToInt32(MonthComBox.SelectedItem.ToString());

    if (this.mainForm.operatorRight == 2)

    {

    sqlStr = String.Format("select EmpID as '职员号', Year as '年份', Month as '月份', Salary as '工资' from [Salary] where Month='{0}'", MonthStr);

    }

    else if (this.mainForm.operatorRight == 1)

    {

    sqlStr = String.Format("select Salary.EmpID as '职员号', Year as '年份', Month as '月份', Salary as '工资' from Salary,Employee_Info,Dept_Info where Month='{0}'and Salary.EmpID=Employee_Info.EmpID and Employee_Info.DeptID=Dept_Info.DeptID and Dept_Info.DeptID in (select DeptID from Employee_Info where EmpID='{1}')", MonthStr, this.mainForm.person.userName);

    }

    else

    {

    sqlStr = String.Format("select EmpID as '职员号', Year as '年份', Month as '月份', Salary as '工' from [Salary] where Month='{0}' and EmpID='{1}'", MonthStr,this.mainForm.person.userName);

    }

    if (count == 0)

    {

    sql += sqlStr;

    count = 1;

    }

    else

    {

    sql += " intersect " + sqlStr;

    }

    check3.Checked = false;

    }

    自己工资

    if (check4.Checked)

    {

    sql = String.Format("select EmpID as '职员号', Year as '年份', Month as '月份', Salary as '工资' from Salary where EmpID='{0}'", this.mainForm.person.userName);

    if (count == 0)

    {

    sql += sqlStr;

    count = 1;

    }

    else

    {

    sql += " intersect " + sqlStr;

    }

    check4.Checked = false;

    }

    SqlCommand command = new SqlCommand(sql, connection);

    try

    {

    connection.Open();

    SqlDataReader data = command.ExecuteReader();

    if (data.Read())

    {

    BindData(sql);

    }

    else

    {

    if(this.mainForm.operatorRight==2)

    {

    sql = String.Format("select EmpID as '职员号', Year as '年份', Month as '月份', Salary as '工资' from Salary");

    }

    else if (this.mainForm.operatorRight == 1)

    {

    sql = String.Format("select Salary.EmpID as '职员号', Year as '年份', Month as '月份', Salary as '工资' from Salary,Employee_Info,Dept_Info where Salary.EmpID=Employee_Info.EmpID and Employee_Info.DeptID=Dept_Info.DeptID and Dept_Info.DeptID in (select DeptID from Employee_Info where EmpID='{0}')", this.mainForm.person.userName);

    }

    else

    {

    sql = String.Format("select EmpID as '职员号', Year as '年份', Month as '月份', Salary as '工资' from Salary where EmpID='{0}'", this.mainForm.person.userName);

    }

    BindData(sql);

    MessageBox.Show("查询失败,没有符合要求工资信息", "查找失败?", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

    }

    }

    catch (Exception ex)

    {

    MessageBox.Show(ex.Message, "数据库操作失败1", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

    }

    finally

    {

    connection.Close();

    }

    }

    private void LoadOrCancel()

    {

    mainForm = (MainForm)this.ParentForm;

    YearComBox.SelectedIndex = 0;

    MonthComBox.SelectedIndex = 0;

    YearComBox.Enabled = false;

    MonthComBox.Enabled = false;

    DeptcomBox.Enabled = false;

    btnYes.Enabled = false;

    BindDeptComBox();

    if (this.mainForm.operatorRight == 2)

    {

    sql = String.Format("select EmpID as '职员号', Year as '年份', Month as '月份', Salary as '工资' from Salary");

    }

    else if (this.mainForm.operatorRight == 1)

    {

    DeptcomBox.Visible = false;

    check1.Visible = false;

    sql = String.Format("select Salary.EmpID as '职员号', Year as '年份', Month as '月份', Salary as '工资' from Salary,Employee_Info,Dept_Info where Salary.EmpID=Employee_Info.EmpID and Employee_Info.DeptID=Dept_Info.DeptID and Dept_Info.DeptID in (select DeptID from Employee_Info where EmpID='{0}')", this.mainForm.person.userName);

    }

    else

    {

    check1.Visible = false;

    check4.Visible = false;

    DeptcomBox.Visible = false;

    sql = String.Format("select EmpID as '职员号', Year as '年份', Month as '月份', Salary as '工资' from Salary where EmpID='{0}'", this.mainForm.person.userName);

    }

    BindData(sql);

    count = 0;

    }

    private void groupBox2_Enter(object sender, EventArgs e)

    {

    }

    2.对表增删改部分:

    ataGrid数据绑定

    private void BindData()

    {

    sql = String.Format("select EmpID as '职员号', Year as '年份', Month as '月份', Salary as ' 工资' from Salary");

    SqlConnection connection = new SqlConnection(connString);

    SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, connection);

    DataSet dataSet = new DataSet();

    dataAdapter.Fill(dataSet);

    dataGridView1.DataSource = dataSet.Tables[0];

    dataGridView1.Columns[0].DataPropertyName = "职员号";

    dataGridView1.Columns[1].DataPropertyName = "年份";

    dataGridView1.Columns[2].DataPropertyName = "月份";

    dataGridView1.Columns[3].DataPropertyName = "工资";

    }

    删除

    private void btn3_Click(object sender, EventArgs e)

    {

    cleartext();

    textreadwrite();

    btnOkOrCancel();

    combMonth.Enabled = true;

    combYear.Enabled = true;

    txt4.ReadOnly = true;

    opterate = "delete";

    }

    修改或更新职职员资信息

    private void btnOk_Click(object sender, EventArgs e)

    {

    btnOkOrCancel();

    btnOk.Enabled = false;

    EmpID = txt1.Text;

    Year = Convert.ToString(combYear.SelectedItem.ToString());

    Month = Convert.ToInt32(combMonth.SelectedItem.ToString());

    String salary = txt4.Text;

    if (salary == "")

    {

    salary = "0";

    }

    Salary = (float)Convert.ToDouble(salary.Trim());

    int num = 0;

    try

    {

    if (EmpID != "")

    {

    sql = String.Format("select count (*) from [Employee_Info] where EmpID='{0}'", EmpID);

    SqlCommand command = new SqlCommand(sql, connection);

    connection.Open();

    int c = (int)command.ExecuteScalar();

    connection.Close();

    if (c > 0)

    {

    connection = new SqlConnection(connString);

    connection.Open();

    sql = String.Format("select count (*) from [Salary] where EmpID='{0}'and Year='{1}' and Month='{2}'", EmpID, Year, Month);

    SqlCommand mycmd = new SqlCommand(sql, connection);

    num = (int)mycmd.ExecuteScalar();

    connection.Close();

    职员工资信息存在

    if (num > 0)

    {

    if (opterate == "insert")

    {

    MessageBox.Show("录入不成功,您要录入职员工资信息已存在!", "录入失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

    textreadonly();

    }

    else if (opterate == "update")

    {

    sql = String.Format("update [Salary] set Salary='{0}'where EmpID='{1}' and Year='{2}' and Month='{3}'", Salary, EmpID, Year, Month);

    connection.Open();

    command = new SqlCommand(sql, connection);

    command.ExecuteNonQuery();

    connection.Close();

    BindData();

    textreadonly();

    MessageBox.Show("更新成功! ", "更新成功", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

    }

    else

    {

    connection.Open();

    sql = String.Format("delete from [Salary] where EmpID='{0}'and Year='{1}' and Month='{2}'", EmpID, Year, Month);

    command = new SqlCommand(sql, connection);

    command.ExecuteNonQuery();

    connection.Close();

    BindData();

    MessageBox.Show("删除成功! ", "删除成功", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

    textreadonly();

    }

    }

    else

    {

    if (opterate == "insert")

    {

    sql = String.Format("insert into [Salary](EmpID,Year,Month,Salary)values ('{0}','{1}','{2}','{3}')", EmpID, Year, Month, Salary);

    command = new SqlCommand(sql, connection);

    connection.Open();

    command.ExecuteNonQuery();

    connection.Close();

    BindData();

    MessageBox.Show("录入成功! ", "录入成功", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

    textreadonly();

    }

    else if (opterate == "update")

    {

    MessageBox.Show("修改失败,不存在要修改工资信息! ", "修T改失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

    textreadonly();

    }

    else

    {

    MessageBox.Show("删除失败,不存在要删除工资信息!", "删除失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

    textreadonly();

    }

    }

    }

    else

    {

    MessageBox.Show("不存在要管理职员工资信息! ", "操作失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

    textreadonly();

    }

    }

    else

    {

    MessageBox.Show("操作失败,请填入职员号!", "操作失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

    textreadonly();

    }

    btnModi();

    btnCancel.Enabled = true;

    }

    catch (Exception ex)

    {

    MessageBox.Show(ex.Message, "数据库操作失败1", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

    }

    finally

    {

    connection.Close();

    }

    }

    3. 相关界面

    录入和修改键和关闭键能用,确定和取消键不能用

    private void btnModi()

    {

    btn1.Enabled = true;

    btn2.Enabled = true;

    btn3.Enabled = true;

    btnOk.Enabled = false;

    btnCancel.Enabled = false;

    }

    录入和修改键不能用,确定和取消键和关闭键能用

    private void btnOkOrCancel()

    {

    btn1.Enabled = false;

    btn2.Enabled = false;

    btn3.Enabled = false;

    btnCancel.Enabled = true;

    btnOk.Enabled = true;

    }

    将文本框清空

    private void cleartext()

    {

    txt1.Text = "";

    txt4.Text = "";

    }

    取消按钮

    private void btnCancel_Click(object sender, EventArgs e)

    {

    combYear.SelectedIndex = 0;

    combMonth.SelectedIndex = 0;

    combMonth.Enabled = false;

    combYear.Enabled = false;

    textreadonly();

    btnModi();

    BindData();

    }

    录入按钮

    private void btn1_Click(object sender, EventArgs e)

    {

    cleartext();

    textreadwrite();

    btnOkOrCancel();

    combMonth.Enabled = true;

    combYear.Enabled = true;

    opterate = "insert";

    }

    修改按钮

    private void btn2_Click(object sender, EventArgs e)

    {

    cleartext();

    textreadwrite();

    btnOkOrCancel();

    opterate = "update";

    combMonth.Enabled = true;

    combYear.Enabled = true;

    }

    四 职员工资界面:

    五 课程设计总结

    此次课程设计,和另外两个同学一起,完成了人事工资管理系统设计,经过此次课程设计,提升了我们团体协作能力,加强了我们动手、思索和处理问题能力,检验了我所学习知识,在设计过程中,和同学分工设计,和同学们相互探讨,相互学习,相互监督。经过完成系统设计,使自己对C#编写C/S系统有了深入认识

    有关的专题