C#人事工资管理系统实验报告.docx
《C#人事工资管理系统实验报告.docx》由会员分享,可在线阅读,更多相关《C#人事工资管理系统实验报告.docx(22页珍藏版)》请在冰豆网上搜索。
C#人事工资管理系统实验报告
武汉工业学院
数据库应用系统设计
实验报告
学号:
090501102
姓名:
毕波
班级:
计算机091
指导教师:
人事工资管理系统
设计总说明:
在当今社会,工资管理是一项必要而且很关键的工作。
现在随着企业数量的急剧增加,处理人们的工资数据变的越来越烦琐艰巨。
如今,计算机已经普及到了几乎每个学校、家庭,我们的学习和生活已经处处离不开计算机的存在。
本系统依据开发要求主要应用于企业人事系统,完成对日常的工资增删查改的数字化管理。
比较系统地对员工的信息和工资进行管理,查询、增添、修改、删除都变的非常简便,节省了大量的工作量。
本课程设计是在学习了《数据库应用系统》和相关开发软件课程之后,让学生通过实际项目的设计、开发,培养学生独立进行数据库软件的建模、在计算机中进行数据库设计、并通过相关软件开发系统的能力。
本系统的基本功能包括:
部门信息的管理(查询、添加、修改、删除学生部门等)、职员信息的管理(录入、查询、修改、删除员工的信息等)、工资信息的管理(录入、查询、修改员工的工资等)。
本系统主要用于对员工工资进行管理,能够进行插入、删除、修改、查询和显示员工的信息。
登录该系统时,用户需要输入口令和密码,以确保数据的安全性,成功登录的用户,可以插入员工的信息和工资,并对员工的信息和工资进行增、删、改操作。
基于上述想法,我们将员工数据保存到数据库中。
我们要求系统能够高效快速的处理数据,并且要保证数据的正确性、相容性和安全性。
所以在数据库中需要定义很多触发器,比如删除了某个员工的信息则删除对应的所有工资信息、活着删除了某部门则删除该部门所有的信息等。
所以我们要从数据库中读取数据,并且和界面联系起来,同时也能将用户界面上的数据存储到数据库中。
以上是设计此系统应该注意的地方和设计原则,以下就是遵循这些原则和标准设计出的一套完整的管理系统。
一系统需求:
根据题目需求,可以把系统分为三个部分:
部门信息管理部分、职员信息管理部分和工资信息管理部分。
本次实验中,我主要负责部门信息管理模块,题中需要对部门信息进行查询、添加、修改、删除操作,这些操作按是否改变数据库数据可分为两类:
查询操作,只读取数据库信息,不对信息做修改;删除、更新和添加操作,需要对数据库中的数据进行读写操作。
因此只要写两部分代码,查询部分:
deptinfo_Query进行部门信息查询,查询数据库信息;信息管理部分:
deptinfo_Manage,对信息进行更新、增加和删除。
二数据库设计
1.数据需求
人事工资管理系统需要完成的主要功能有:
1员工的基本信息录入
2.工资信息表的录入。
3.部门信息表的查询、插入、修改、删除等操作。
2.相关表
表1职工表:
Employee_Info
表2工资表:
Salary
表3部门表:
Dept_Info
表4系统用户表:
User_Info
3.数据流程图
图数据流程图
三员工工资相关操作
1.查询部分
相关代码:
dateGrid1数据绑定
privatevoidBindData(Stringsql)
{
SqlConnectionconnection=newSqlConnection(connString);
SqlDataAdapterdataAdapter=newSqlDataAdapter(sql,connection);
DataSetdataSet=newDataSet();
dataAdapter.Fill(dataSet);
dataGridView1.DataSource=dataSet.Tables[0];
dataGridView1.Columns[0].DataPropertyName="职¡ã工¡è号?
";
dataGridView1.Columns[1].DataPropertyName="年份";
dataGridView1.Columns[2].DataPropertyName="月份";
dataGridView1.Columns[3].DataPropertyName="工资º";
}
部门组合框的数据绑定
privatevoidBindDeptComBox()
{
stringsql="SELECT*FROM[Dept_Info]";
SqlConnectionconnection=newSqlConnection(connString);
SqlDataAdapterdataAdapter=newSqlDataAdapter(sql,connection);
DataSetdataSet=newDataSet();
dataAdapter.Fill(dataSet);
DeptcomBox.DataSource=dataSet.Tables[0];
DeptcomBox.DisplayMember="DeptName";
DeptcomBox.ValueMember="DeptID";
DeptcomBox.SelectedIndex=0;
}
按部门查询
privatevoidcheck1_CheckedChanged(objectsender,EventArgse)
{
if(check1.Checked)
{
btnYes.Enabled=true;
DeptcomBox.Enabled=true;
check4.Checked=false;
check4.Enabled=false;
}
else
{
DeptcomBox.Enabled=false;
check4.Enabled=true;
}
}
按年份查询
privatevoidcheck2_CheckedChanged(objectsender,EventArgse)
{
btnYes.Enabled=true;
if(check2.Checked)
{
YearComBox.Enabled=true;
}
else
{
YearComBox.Enabled=false;
}
YearComBox.SelectedIndex=0;
}
按月份Y查询
privatevoidcheck3_CheckedChanged(objectsender,EventArgse)
{
if(check3.Checked)
{
btnYes.Enabled=true;
MonthComBox.Enabled=true;
}
else
{
MonthComBox.Enabled=false;
}
}
仅查询自己的工资
privatevoidcheck4_CheckedChanged(objectsender,EventArgse)
{
if(check4.Checked)
{
btnYes.Enabled=true;
check1.Enabled=false;
DeptcomBox.Enabled=false;
}
else
{
check1.Enabled=true;
check1.Checked=false;
}
}
privatevoidbtnYes_Click(objectsender,EventArgse)
{
count=0;
StringYearStr;
intMonthStr;
StringDeptStr;
StringsqlStr="";
sql="";
DeptStr=Convert.ToString(DeptcomBox.SelectedValue.ToString());
部门号
if(check1.Checked)
{
DeptStr=Convert.ToString(DeptcomBox.SelectedValue.ToString());
sqlStr=String.Format("select[Salary].EmpIDas'职工号',Yearas'年份',Monthas'月份',Salaryas'工资º'from[Salary],[Employee_Info]whereDeptID='{0}'andSalary.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("selectEmpIDas'职工号',Yearas'年份',Monthas'月份',Salaryas'工资'from[Salary]whereYear='{0}'",YearStr);
}
elseif(this.mainForm.operatorRight==1)
{
sqlStr=String.Format("selectSalary.EmpIDas'职工号',Yearas'年份',Monthas'月',Salaryas'工资'fromSalary,Employee_Info,Dept_InfowhereYear='{0}'andSalary.EmpID=Employee_Info.EmpIDandEmployee_Info.DeptID=Dept_Info.DeptIDandDept_Info.DeptIDin(selectDeptIDfromEmployee_InfowhereEmpID='{1}')",YearStr,this.mainForm.person.userName);
}
else
{
sqlStr=String.Format("selectEmpIDas'职工号',Yearas'年份',Monthas'月份',Salaryas'工资Á'from[Salary]whereYear='{0}'andEmpID='{1}'",YearStr,this.mainForm.person.userName);
}
if(count==0)
{
sql+=sqlStr;
count=1;
}
else
{
sql+="intersect"+sqlStr;
}
check2.Checked=false;
}
月份
if(check3.Checked)
{
M