还剩17页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
武汉工业学院数据库应用系统设计实验报告学号090501102姓名毕波班级:计算机091指导教师人事工资管理系统设计总说明在当今社会,工资管理是一项必要而且很关键的工作现在随着企业数量的急剧增加,处理人们的工资数据变的越来越烦琐艰巨如今,计算机已经普及到了几乎每个学校、家庭,我们的学习和生活已经处处离不开计算机的存在本系统依据__要求主要应用于企业人事系统,完成对日常的工资增删查改的数字化管理比较系统地对员工的信息和工资进行管理,查询、增添、修改、删除都变的非常简便,节省了大量的工作量本课程设计是在学习了《数据库应用系统》和相关__软件课程之后,让学生通过实际项目的设计、__,培养学生__进行数据库软件的建模、在计算机中进行数据库设计、并通过相关软件__系统的能力本系统的基本功能包括部门信息的管理(查询、添加、修改、删除学生部门等)、职员信息的管理(录入、查询、修改、删除员工的信息等)、工资信息的管理(录入、查询、修改员工的工资等)本系统主要用于对员工工资进行管理,能够进行插入、删除、修改、查询和显示员工的信息登录该系统时,用户需要输入口令和__,以确保数据的安全性,成功登录的用户,可以插入员工的信息和工资,并对员工的信息和工资进行增、删、改操作基于上述想法,我们将员工数据保存到数据库中我们要求系统能够高效快速的处理数据,并且要保证数据的正确性、相容性和安全性所以在数据库中需要定义很多触发器,比如删除了某个员工的信息则删除对应的所有工资信息、活着删除了某部门则删除该部门所有的信息等所以我们要从数据库中读取数据,并且和界面__起来,同时也能将用户界面上的数据存储到数据库中以上是设计此系统应该注意的地方和设计原则,以下就是遵循这些原则和标准设计出的一套完整的管理系统一系统需求根据题目需求,可以把系统分为三个部分部门信息管理部分、职员信息管理部分和工资信息管理部分本次实验中,我主要负责部门信息管理模块,题中需要对部门信息进行查询、添加、修改、删除操作,这些操作按是否改变数据库数据可分为两类查询操作,只读取数据库信息,不对信息做修改;删除、更新和添加操作,需要对数据库中的数据进行读写操作因此只要写两部分代码,查询部分:deptinfo_Query进行部门信息查询,查询数据库信息;信息管理部分deptinfo___nage,对信息进行更新、增加和删除二数据库设计
1.数据需求人事工资管理系统需要完成的主要功能有1员工的基本信息录入
2.工资信息表的录入
3.部门信息表的查询、插入、修改、删除等操作
2.相关表表1职工表Employee_Info表2工资表Salary表3部门表Dept_Info表4系统用户表User_Info
3.数据流程图图数据流程图三员工工资相关操作
1.查询部分相关代码dateGrid1数据绑定privatevoidBindDataStringsql{SqlConnectionconnection=newSqlConnectionconnString;SqlDataAdapterdataAdapter=newSqlDataAdaptersqlconnection;DataSetdataSet=newDataSet;dataAdapter.FilldataSet;dataGridView
1.DataSour__=dataSet.Tables
[0];dataGridView
1.Columns
[0].DataPropertyName=职¡ã工¡è号;dataGridView
1.Columns
[1].DataPropertyName=年份;dataGridView
1.Columns
[2].DataPropertyName=月份;dataGridView
1.Columns
[3].DataPropertyName=工资º;}部门组合框的数据绑定privatevoidBindDeptComBox{stringsql=SELECT*FROM[Dept_Info];SqlConnectionconnection=newSqlConnectionconnString;SqlDataAdapterdataAdapter=newSqlDataAdaptersqlconnection;DataSetdataSet=newDataSet;dataAdapter.FilldataSet;DeptcomBox.DataSour__=dataSet.Tables
[0];DeptcomBox.DisplayMember=DeptName;DeptcomBox.ValueMember=DeptID;DeptcomBox.SelectedIndex=0;}按部门查询privatevoidcheck1_CheckedChangedo__ectsenderEventArgse{ifcheck
1.Checked{btnYes.Enabled=true;DeptcomBox.Enabled=true;check
4.Checked=false;check
4.Enabled=false;}else{DeptcomBox.Enabled=false;check
4.Enabled=true;}}按年份查询privatevoidcheck2_CheckedChangedo__ectsenderEventArgse{btnYes.Enabled=true;ifcheck
2.Checked{YearComBox.Enabled=true;}else{YearComBox.Enabled=false;}YearComBox.SelectedIndex=0;}按月份Y查询privatevoidcheck3_CheckedChangedo__ectsenderEventArgse{ifcheck
3.Checked{btnYes.Enabled=true;MonthComBox.Enabled=true;}else{MonthComBox.Enabled=false;}}仅查询自己的工资privatevoidcheck4_CheckedChangedo__ectsenderEventArgse{ifcheck
4.Checked{btnYes.Enabled=true;check
1.Enabled=false;DeptcomBox.Enabled=false;}else{check
1.Enabled=true;check
1.Checked=false;}}privatevoidbtnYes_Clicko__ectsenderEventArgse{count=0;StringYearStr;intMonthStr;StringDeptStr;StringsqlStr=;sql=;DeptStr=Convert部门号ifcheck
1.Checked{DeptStr=ConvertsqlStr=String.For__tselect[Salary].EmpIDas职工号Yearas年份Monthas月份Salaryas工资ºfrom[Salary][Employee_Info]whereDeptID={0}andSalary.EmpID=Employee_Info.EmpIDDeptStr;ifcount==0{sql+=sqlStr;count=1;}else{sql+=intersect+sqlStr;}check
1.Checked=false;}年份ifcheck
2.Checked{YearStr=Convertifthis.__inForm.operatorRight==2{sqlStr=String.For__tselectEmpIDas职工号Yearas年份Monthas月份Salaryas工资from[Salary]whereYear={0}YearStr;}elseifthis.__inForm.operatorRight==1{sqlStr=String.For__tselectSalary.EmpIDas职工号Yearas年份Monthas月Salaryas工资fromSalaryEmployee_InfoDept_InfowhereYear={0}andSalary.EmpID=Employee_Info.EmpIDandEmployee_Info.DeptID=Dept_Info.DeptIDandDept_Info.DeptIDinselectDeptIDfromEmployee_InfowhereEmpID={1}YearStrthis}else{sqlStr=String.For__tselectEmpIDas职工号Yearas年份Monthas月份Salaryas工资Áfrom[Salary]whereYear={0}andEmpID={1}YearStrthis}ifcount==0{sql+=sqlStr;count=1;}else{sql+=intersect+sqlStr;}check
2.Checked=false;}月份ifcheck
3.Checked{MonthStr=Convertifthis.__inForm.operatorRight==2{sqlStr=String.For__tselectEmpIDas职工号Yearas年份Monthas月份Salaryas工资from[Salary]whereMonth={0}MonthStr;}elseifthis.__inForm.operatorRight==1{sqlStr=String.For__tselectSalary.EmpIDas职工号Yearas年份Monthas月份Salaryas工资fromSalaryEmployee_InfoDept_InfowhereMonth={0}andSalary.EmpID=Employee_Info.EmpIDandEmployee_Info.DeptID=Dept_Info.DeptIDandDept_Info.DeptIDinselectDeptIDfromEmployee_InfowhereEmpID={1}MonthStrthis}else{sqlStr=String.For__tselectEmpIDas职工号Yearas年份Monthas月份Salaryas工from[Salary]whereMonth={0}andEmpID={1}MonthStrthis}ifcount==0{sql+=sqlStr;count=1;}else{sql+=intersect+sqlStr;}check
3.Checked=false;}自己工资ifcheck
4.Checked{sql=String.For__tselectEmpIDas职工号Yearas年份Monthas月份Salaryas工资fromSalarywhereEmpID={0}thisifcount==0{sql+=sqlStr;count=1;}else{sql+=intersect+sqlStr;}check
4.Checked=false;}SqlCom__ndcom__nd=newSqlCom__ndsqlconnection;try{connection.Open;SqlDataReaderdata=com__nd.ExecuteReader;ifdata.Read{BindDatasql;}else{ifthis.__inForm.operatorRight==2{sql=String.For__tselectEmpIDas职工号Yearas年份Monthas月份Salaryas工资fromSalary;}elseifthis.__inForm.operatorRight==1{sql=String.For__tselectSalary.EmpIDas职工号Yearas年份Monthas月份Salaryas工资fromSalaryEmployee_InfoDept_InfowhereSalary.EmpID=Employee_Info.EmpIDandEmployee_Info.DeptID=Dept_Info.DeptIDandDept_Info.DeptIDinselectDeptIDfromEmployee_InfowhereEmpID={0}this}else{sql=String.For__tselectEmpIDas职工号Yearas年份Monthas月份Salaryas工资fromSalarywhereEmpID={0}this}BindDatasql;MessageBox.Show查询失败没有符合要求的工资信息查找失败ãMessageBoxButtons.OKMessageBoxIcon.Excla__tion;}}catchEx__ptionex{MessageBox.Showex.Message数据库操作失败¹MessageBoxButtons.OKMessageBoxIcon.Excla__tion;}finally{connection.Close;}}privatevoidLoadOrCan__l{__inForm=__inFormthis.ParentForm;YearComBox.SelectedIndex=0;MonthComBox.SelectedIndex=0;YearComBox.Enabled=false;MonthComBox.Enabled=false;DeptcomBox.Enabled=false;btnYes.Enabled=false;BindDeptComBox;ifthis.__inForm.operatorRight==2{sql=String.For__tselectEmpIDas职工号Yearas年份Monthas月份Salaryas工资fromSalary;}elseifthis.__inForm.operatorRight==1{DeptcomBox.Visible=false;check
1.Visible=false;sql=String.For__tselectSalary.EmpIDas职工号Yearas年份Monthas月份Salaryas工资fromSalaryEmployee_InfoDept_InfowhereSalary.EmpID=Employee_Info.EmpIDandEmployee_Info.DeptID=Dept_Info.DeptIDandDept_Info.DeptIDinselectDeptIDfromEmployee_InfowhereEmpID={0}this}else{check
1.Visible=false;check
4.Visible=false;DeptcomBox.Visible=false;sql=String.For__tselectEmpIDas职工号Yearas年份Monthas月份Salaryas工资fromSalarywhereEmpID={0}this}BindDatasql;count=0;}privatevoidgroupBox2_Entero__ectsenderEventArgse{}
2.对表的增删改部分ataGrid数据绑定privatevoidBindData{sql=String.For__tselectEmpIDas职工号Yearas年份Monthas月份Salaryas工资fromSalary;SqlConnectionconnection=newSqlConnectionconnString;SqlDataAdapterdataAdapter=newSqlDataAdaptersqlconnection;DataSetdataSet=newDataSet;dataAdapter.FilldataSet;dataGridView
1.DataSour__=dataSet.Tables
[0];dataGridView
1.Columns
[0].DataPropertyName=职工号;dataGridView
1.Columns
[1].DataPropertyName=年份;dataGridView
1.Columns
[2].DataPropertyName=月份;dataGridView
1.Columns
[3].DataPropertyName=工资;}删除privatevoidbtn3_Clicko__ectsenderEventArgse{cleartext;textreadwrite;btnOkOrCan__l;combMonth.Enabled=true;combYear.Enabled=true;___
4.ReadOnly=true;opterate=delete;}修改或更新职工工资信息privatevoidbtnOk_Clicko__ectsenderEventArgse{btnOkOrCan__l;btnOk.Enabled=false;EmpID=___
1.Text;Year=ConvertMonth=ConvertStringsalary=___
4.Text;ifsalary=={salary=0;}Salary=floatConvert.ToDoublesalary.Trim;intnum=0;try{ifEmpID!={sql=String.For__tselectcount*from[Employee_Info]whereEmpID={0}EmpID;SqlCom__ndcom__nd=newSqlCom__ndsqlconnection;connection.Open;intc=intcom__nd.ExecuteScalar;connection.Close;ifc0{connection=newSqlConnectionconnString;connection.Open;sql=String.For__tselectcount*from[Salary]whereEmpID={0}andYear={1}andMonth={2}EmpIDYearMonth;SqlCom__ndmycmd=newSqlCom__ndsqlconnection;num=intmycmd.ExecuteScalar;connection.Close;职工的工资信息存在ifnum0{ifopterate==insert{MessageBox.Show录入不成功,您要录入的员工的工资信息已存在!录入失败MessageBoxButtons.OKMessageBoxIcon.Excla__tion;textreadonly;}elseifopterate==update{sql=String.For__tupdate[Salary]setSalary={0}whereEmpID={1}andYear={2}andMonth={3}SalaryEmpIDYearMonth;connection.Open;com__nd=newSqlCom__ndsqlconnection;com__nd.ExecuteNonQuery;connection.Close;BindData;textreadonly;MessageBox.Show更新成功!更新成功MessageBoxButtons.OKMessageBoxIcon.Excla__tion;}else{connection.Open;sql=String.For__tdeletefrom[Salary]whereEmpID={0}andYear={1}andMonth={2}EmpIDYearMonth;com__nd=newSqlCom__ndsqlconnection;com__nd.ExecuteNonQuery;connection.Close;BindData;MessageBox.Show删除成功!删除成功MessageBoxButtons.OKMessageBoxIcon.Excla__tion;textreadonly;}}else{ifopterate==insert{sql=String.For__tinsertinto[Salary]EmpIDYearMonthSalaryvalues{0}{1}{2}{3}EmpIDYearMonthSalary;com__nd=newSqlCom__ndsqlconnection;connection.Open;com__nd.ExecuteNonQuery;connection.Close;BindData;MessageBox.Show录入成功!录入成功MessageBoxButtons.OKMessageBoxIcon.Excla__tion;textreadonly;}elseifopterate==update{MessageBox.Show修改失败,不存在要修改的工资信息!修T改失败MessageBoxButtons.OKMessageBoxIcon.Excla__tion;textreadonly;}else{MessageBox.Show删除失败,不存在要删除的工资信息!删除失败MessageBoxButtons.OKMessageBoxIcon.Excla__tion;textreadonly;}}}else{MessageBox.Show不存在要管理的员工工资信息!操作失败MessageBoxButtons.OKMessageBoxIcon.Excla__tion;textreadonly;}}else{MessageBox.Show操作失败,请填入员工号!操作失败MessageBoxButtons.OKMessageBoxIcon.Excla__tion;textreadonly;}bt__odi;btnCan__l.Enabled=true;}catchEx__ptionex{MessageBox.Showex.Message数据库操作失败¹MessageBoxButtons.OKMessageBoxIcon.Excla__tion;}finally{connection.Close;}}
3.关于界面录入和修改键和关闭键能用,确定和取消键不能用privatevoidbt__odi{btn
1.Enabled=true;btn
2.Enabled=true;btn
3.Enabled=true;btnOk.Enabled=false;btnCan__l.Enabled=false;}录入和修改键不能用,确定和取消键和关闭键能用privatevoidbtnOkOrCan__l{btn
1.Enabled=false;btn
2.Enabled=false;btn
3.Enabled=false;btnCan__l.Enabled=true;btnOk.Enabled=true;}将文本框清空privatevoidcleartext{___
1.Text=;___
4.Text=;}取消按钮privatevoidbtnCan__l_Clicko__ectsenderEventArgse{combYear.SelectedIndex=0;combMonth.SelectedIndex=0;combMonth.Enabled=false;combYear.Enabled=false;textreadonly;bt__odi;BindData;}录入按钮privatevoidbtn1_Clicko__ectsenderEventArgse{cleartext;textreadwrite;btnOkOrCan__l;combMonth.Enabled=true;combYear.Enabled=true;opterate=insert;}修改按钮privatevoidbtn2_Clicko__ectsenderEventArgse{cleartext;textreadwrite;btnOkOrCan__l;opterate=update;combMonth.Enabled=true;combYear.Enabled=true;}四员工工资界面五课程设计总结本次课程设计,和另外两个同学一起,完成了人事工资管理系统的设计,通过本次课程设计,提升了我们的团队协作能力,加强了我们动手、思考和解决问题的能力,检验了我所学习的知识,在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督通过完成系统的设计,使自己对C#编写C/S系统有了进一步的认识,同时也提高了C#编程能力本次设计中用到了数据库、软件设计等,使得自己对所学的内容更加清晰明了并使自己在各种工具的集成__有了全新体会本次课程设计最大的收获是了解到了团队合作以及任务规划的重要性,对于目前的自己来说想要__完成一个软件的设计是不现实的,分工合作可以很好地解决这个问题,但合作中也会出现很多问题,由于每个人__设计一个模块,单独运行时没有问题,但最后系统功能综合运行时,由于每个人各个部分的设计思路不尽相同,会出很多错误,需要跟同组人员进行沟通,然后各自对自己的模块进行必要的修改,才能综合形成一个完整的可用的系统,由此可见在软件设计的过程中,合作是很重要的,并且每个成员间必须有很好的沟通,才能避免设计中出现的不兼容的错误,才能使工程做得__在实验中,明白了C#的反馈机制一个代理对象包括了访问一个特定对象的特定方法所需的信息.只要把它当成一个聪明的方法指针就行了代理对象可以被__到另一个地方,然后可以通过访问它来对已存在的方法进行类型安全的调用.一个反馈方法是代理的特例对C#的强类型特点有了更深的理解本次实验对我的帮助非常之大人事工资管理系统登录系统___职工表部门表工资表。